मैं उन है कि टीवी के एक ही सेट का आनंद के जोड़े को खोजने के लिए कोशिश कर रहा हूँ इस सरल उदाहरण में से पता चलतामैं उन जोड़ों को कैसे ढूंढूं जो एक गुण (कॉलम) को एकाधिक tuples (पंक्तियों) के माध्यम से साझा करते हैं?
चलो कहते हैं कि मैं एक मेज जिसमें प्रत्येक उपयोगकर्ता प्रत्येक टीवी शो है कि वे आनंद के लिए एक प्रवेश हो जाता है करते हैं:
|USER1 |USER2 |
|------|------|
|001 |003 |
|003 |001 |
|002 |005 |
|002 |006 |
|005 |002 |
|005 |006 |
|006 |002 |
|006 |005 |
या एक और भी बेहतर संस्करण होगा:
|USER1 |USER2 |
|------|------|
|001 |003 |
|002 |005 |
|002 |006 |
|005 |006 |
तब मैं का एक परिणाम चाहते हैं
कौन सा मूल रूप से कहते हैं: उपयोगकर्ता 1 उपयोगकर्ता 3.
मैं चारों ओर ग्रुप द्वारा और शामिल हों के साथ खेल किया गया है के रूप में शो के एक ही सेट पसंद है, लेकिन मैं अभी भी इस सवाल का जवाब :(नहीं मिल रहा।
अब तक, मैंने पाया कि
SELECT s1.User as USER1, s2.User as USER2, s1.Show as Show
FROM Shows s1 JOIN (SELECT * FROM Shows) s2
ON s1.Shows=s2.Shows AND s1.User!=s2.User;
का उपयोग कर जो उपयोगकर्ताओं के जोड़े और शो वे आम में है अर्जित करता है। लेकिन मुझे नहीं पता कि यहां से कहाँ जाना है।
हमें दिखाएं कि आप किसके साथ खेल रहे हैं। – Kermit
मुझे लगता है कि अपेक्षित परिणाम प्रदत्त नमूना डेटा से मेल नहीं खाता है। नमूना डेटा में आपके पास 6 उपयोगकर्ता हैं लेकिन केवल दो टीवी शो हैं और अपेक्षित परिणाम में यह इसके विपरीत है। –
USER1 के रूप में चयन s1.User, USER2 रूप s2.User, s1.Show दिखाएँ शो से एस 1 शामिल हों के रूप में (का चयन करें * \t शो से) s2 पर s1.Shows = s2.Shows और s1.User! = S2 .User; यह कम से कम एक ही टीवी शो की तरह जोड़े की एक सूची उत्पन्न करता है। @DanielHilgarth मैं उन सभी उपयोगकर्ताओं को जोड़ना चाहता हूं जो सभी टीवी शो देखते हैं।उपयोगकर्ता 1 और उपयोगकर्ता 3 दोनों खोया और दक्षिण पार्क देखो। उपयोगकर्ता 2 और उपयोगकर्ता 5 दोनों घड़ी खो गया। उपयोगकर्ता 2 और उपयोगकर्ता 6 दोनों खोया देखो। आदि –