2011-02-06 9 views
18

में शामिल हों मैं एक प्रश्न में दो आंतरिक जुड़ने को कैसे पूर्ववत करूं?दो आंतरिक MYSQL

Ie: तीन टेबल

चालान
पता
ग्राहक

चालान एक स्तंभ ग्राहकों में एक आईडी का संदर्भ जो है। इसमें एक स्तंभ भी है जो एक पते का संदर्भ देता है। मुझे मेल खाने वाली तालिका और मिलान की गई तालिका से पते दोनों क्लाइंट का नाम प्राप्त करने की आवश्यकता है। मैं INNER JOIN दोनों टेबल कैसे करूं?

मैं कुछ विवरण जोड़ देंगे ...
चालान पंक्तियों पते (संदर्भ आईडी को संबोधित), ग्राहक (संदर्भ ग्राहक आईडी), आईडी है और नोटों ग्राहक पंक्तियों first_name है, LAST_NAME पता पंक्तियों STREET_NAME और शहर है

मैं

+0

अधिक डेटा की आवश्यकता है। –

उत्तर

29

आपके पास क्वेरी में जितनी आवश्यकता हो उतनी जॉइन क्लॉज हो सकती हैं। प्रत्येक में एक ऑन क्लॉज होता है जहां आप शामिल तालिकाओं के बीच संबंधित कॉलम निर्दिष्ट करते हैं।

SELECT 
    columns 
FROM 
    invoice 
INNER JOIN 
    address 
ON 
    join_condition 
INNER JOIN 
    client 
ON 
    join_condition 
+0

मुझे इस बारे में पता नहीं था। जानकार अच्छा लगा। धन्यवाद! – Yoshiyahu

8

कुछ की तरह ऊपर खींचने के लिए की जरूरत है:

SELECT 
    c.*, i.*, a.* 
FROM 
    invoices i 
INNER JOIN 
    client c 
ON 
    i.clientid = c.clientid 
INNER JOIN 
    address a 
ON 
    a.clientid = c.clientid 
WHERE 
    i.id = 21 

आप मत भूलना केवल * (सभी) क्षेत्रों की आवश्यकता का चयन करें, नहीं।

+0

क्या यह एक दूसरे चालू के बिना काम करेगा? – Yoshiyahu

+0

ओह, इसे जोड़ने के लिए भूल गए। संपादन देखें। – Prisoner

+0

यह काम किया, धन्यवाद –

संबंधित मुद्दे