यहाँ MySQLFiddle:MySQL ही तालिका में शामिल होने और की तुलना परिणाम
तालिका 1:: user_answers
तालिका (विभिन्न प्रश्नों के भंडार उन जवाब)
मैं एक एकल तालिका के साथ मैं काम करने की कोशिश कर रहा हूँ है
संग्रहित किए गए उल्लेखनीय मान उपयोगकर्ता आईडी (कॉलम uid
) हैं, प्रश्न के उत्तर के लिए प्रश्न आईडी (कॉलम quid
), प्रश्न का उत्तर (कॉलम answer
) और उनके उत्तर का महत्व (कॉलम importance
)।
अंतिम परिणाम मैं चाहता हूँ:
मैं चाहूँगा सभी सवालों कि किसी भी दो उपयोगकर्ताओं के उत्तर दिए हैं, कि या तो नहीं अन्य पार्टी द्वारा उत्तर दिया गया सवाल से कोई जवाब को छोड़कर हड़पने के लिए सक्षम होने के लिए, या उसी प्रश्न के उत्तर जिनके पास importance
में उपयोगकर्ता के लिए 1 का मान है। दोबारा, यह कभी-कभी एक समय में दो उपयोगकर्ताओं की तुलना करने के लिए उपयोग किया जाएगा।
मैं अपने प्रयास में असफल रहे सुंदर किया गया है, लेकिन यहाँ मैं क्या कोशिश की है, सिर्फ बातें एक साथ piecing है:
#attempt one: trying to exclude answers that were not answered by both users
SELECT * FROM user_answers AS uid1
JOIN user_answers AS uid2 ON uid1.uid = uid2.uid
WHERE uid1.uid = 1
AND uid2.uid = 20008
AND uid1.quid IS NOT NULL
AND uid2.quid IS NOT NULL;
यह कोई परिणाम है, लेकिन मैं वास्तव में यकीन है कि क्यों नहीं कर रहा हूँ।
#attempt two: trying to exclude where answers are the same for both users
SELECT * FROM user_answers AS uid1
LEFT JOIN user_answers AS uid2 ON (uid1.uid = uid2.uid AND uid1.answer <> uid2.answer)
यह मुझे परिणाम देता है, लेकिन शामिल होने के कारण सब कुछ पर दोगुनी लग रहा है। मैंने किसी भी उत्तर को खत्म करने के इस प्रयास में भी कोशिश की, जो कि समान था, जो कि उस अर्थ में काम कर रहा है।
किसी भी मार्गदर्शन की सराहना की जाती है।
धन्यवाद।
+1। । । "मेरा एसक्यूएल फिडल यहाँ है" शुरू करने वाला कोई प्रश्न कैसे ऊपर नहीं उठा सकता है? –