एसक्यूएल एक ही टेबल में कई कॉलम पर जुड़ते हैं


136

मेरे पास 2 उपश्रेणियाँ हैं, लेकिन मुझे एक ही तालिकाओं से एक साथ स्तंभों को जोड़ने में परेशानी हो रही है। मैंने कोशिश की:

SELECT * FROM

(SELECT userid, listid 
FROM user_views_table
WHERE date='2013-05-15' AND view_type='lists') a

JOIN

(SELECT sourceid, destinationid
FROM actions_table
WHERE date='2013-05-15' AND payloadtype='lists_user' AND actiontype='delete') b

ON a.userid = b.sourceid
ON a.listid = b.destinationid;

अगर मैं बस ON a.userid = b.sourceidइसके साथ काम करने के लिए क्वेरी को समाप्त करता हूं, लेकिन मैं इन तालिकाओं को किसी अन्य स्तंभ पर भी कैसे शामिल कर सकता हूं ON a.listid = b.destinationid??

किसी भी मदद की सराहना की।


2
जवाब के लिए धन्यवाद .. argh अभी नहीं था ";" पहले क्वेरी के अंत में
user1899415

जवाबों:


201

इस तरह से जुड़ें:

ON a.userid = b.sourceid AND a.listid = b.destinationid;

7
यह स्पष्ट लग रहा है कि इसे वापस देखा जा सकता है, लेकिन मैं यह नोट करना चाहता था कि एक या साथ ही काम करता है, आप बस रिकॉर्ड के बहुत से समाप्त होते हैं।
wastubbs

68

आप शर्त 1 और शर्त 2 में शामिल होना चाहते हैं, इसलिए नीचे दिए गए AND कीवर्ड का उपयोग करें

ON a.userid = b.sourceid AND a.listid = b.destinationid;
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.