database - Count pair of two column value in Sql which are match in tables -


मेरे पास दो टेबल हैं

ब्रांड तालिका

यह विशिष्ट उपयोगकर्ता द्वारा चुने गए ब्रांड_आईडी की एक सूची है

<पूर्व> id_autoicrement | User_id | ब्रांड_आईडी 1 | 5 | 7 2 | 5 | 3 3 | 5 | 1 4 | 9 | 3 5 | 9 | 7 6 | 2 | 3 7 | 2 | 7 8 | 4 | 3

उत्पाद तालिका

यह विशिष्ट उपयोगकर्ता द्वारा चुने गए product_id की एक सूची है।

<पूर्व> id_autoicrement | User_id | Product_id 1 | 5 | 4 2 5 | 1 3 | 5 | 2 4 | 9 | 1 5 | 9 | 4 6 | 2 | 1 7 | 2 | 4 8 | 4 | 1

संपादित करें

क्षमा करें, मुझे इसे गलत मिला। मुझे brand_id और product_id की सूची चाहिए, जो उसी उपयोगकर्ताओं द्वारा ली गई हैं जिनकी pair_ brand_id और product_id मान समान हैं। उपरोक्त टेबल समान हैं।

  उपयोगकर्ता ए उपयोगकर्ता बी brand_id | Product_id brand_id | Product_id 1 | 2 1 | 3 | 3 2  

अलग-अलग उपयोगकर्ता द्वारा जोड़े की एक ही संख्या ...

  उपयोगकर्ता ए के दो जोड़े हैं उपयोगकर्ता बी में दो पैराज्ड brand_id 1 और product_id 2 brand_id 1 और product_id 3 brand_id 1 और product_id 3 brand_id 2 और product_id 3  

परिणाम होना चाहिए

  brand_id product_id - & gt; संयोजन 1 2 - & gt; 1 1 3 - & gt; 2 2 3 - & gt; 1  

धन्यवाद अग्रिम में।

बस दो तालिकाओं में शामिल हों केवल उपयोगकर्ता द्वारा, ब्रांड और उत्पाद द्वारा समूह और आप पूर्ण कर चुके हैं।

  चुनें product_id, brand_id, count (*) ब्रांड्स से लेकर b इनर इनर इनवॉजेंट पी पर p.user_id = b.user_id समूह Product_id द्वारा, ब्रांड_आईडी;  

जुड़ने में प्रति उपयोगकर्ता-उत्पाद-ब्रांड संयोजन एक रिकॉर्ड बनाता है। फिर उत्पाद और ब्रांड द्वारा समूहबद्ध करके आप उन उपयोगकर्ताओं की गिनती करते हैं जिन्होंने उत्पाद-ब्रांड संयोजन चुना है।

यहां एक एसक्यूएल बेलाल है।


Comments