मेरे पास 4 अलग-अलग टेबल हैं जिन्हें मैं शामिल करना चाहता हूं। इस प्रकार टेबल कॉलम के साथ संरचित कर रहे:आईडी का उपयोग करके मैं एकाधिक SQL तालिकाओं में कैसे शामिल हो सकता हूं?
TableA - aID | nameA | dID
TableB - bID | nameB | cID | aID
TableC - cID | nameC | date
TableD - dID | nameD
तालिका A के साथ शुरू, मैं समझता हूँ टेबल एक और सी बी का उपयोग कर में कैसे शामिल हों, क्योंकि ख उन तालिकाओं के लिए प्राथमिक कुंजी है। मैं टेबलए पर टेबल टेबलडी में भी शामिल होना चाहता हूं। नीचे मेरी एसक्यूएल बयान है कि पहले टेबल ए और बी में शामिल है, तो मिलती है कि सी के लिए:
SELECT TableA.*, TableB.*, TableC.* FROM (TableB INNER JOIN TableA
ON TableB.aID= TableA.aID)
INNER JOIN TableC ON(TableB.cID= Tablec.cID)
WHERE (DATE(TableC.date)=date(now()))
जब मैं एक और शामिल होने को जोड़ने के लिए, डी शामिल करने के लिए प्रयास करते हैं, मैं एक त्रुटि है कि 'रखा' अज्ञात है मिलती है:
SELECT TableA.*, TableB.*, TableC.*, TableD.* FROM (TableB INNER JOIN TableA
ON TableB.aID= TableA.aID)
INNER JOIN TableC ON(TableB.cID= Tablec.cID)
INNER JOIN TableA ta ON(ta.dID= TableD.dID)
WHERE (DATE(TableC.date)=date(now()))
tableN चयन नहीं होगा। * मिलान करने वाले सभी प्राथमिक कुंजी आईडी स्तंभ लेबल में की नकल? (प्रश्न यह निर्दिष्ट नहीं करता कि आउटपुट क्या वांछित है लेकिन आम तौर पर आप ऐसा नहीं करना चाहते हैं मुझे लगता है) –
शायद मैं पूछूं कि 'जॉइनटेबल सी' '' '' '' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ = TableA.cID'। मुझे लगता है कि हम अन्य 3 टेबलों में 'टेबलए' में शामिल हो रहे हैं। – emihir0