SELECT * FROM table1
LEFT JOIN table2
ON table1.id = table2.table1_id
WHERE table1.id = 1
मुझे तालिका 2 से केवल एक कॉलम में शामिल होने की आवश्यकता है, first_name कहें। मैं यह कैसे कर सकता हूं?केवल एक कॉलम में कैसे शामिल हों?
SELECT * FROM table1
LEFT JOIN table2
ON table1.id = table2.table1_id
WHERE table1.id = 1
मुझे तालिका 2 से केवल एक कॉलम में शामिल होने की आवश्यकता है, first_name कहें। मैं यह कैसे कर सकता हूं?केवल एक कॉलम में कैसे शामिल हों?
यह मानते हुए कि क्या आपका मतलब है "तालिका 2 से एक कॉलम चुनना":
SELECT table1.*, table2.first_name
FROM table1
LEFT JOIN table2
...
आप अपने पहले ही कहा गया प्रश्न के अतिरिक्त मतलब है:
SELECT * FROM table1
LEFT JOIN table2
ON table1.id = table2.table1_id
WHERE table1.id = 1 and table1.first_name = table2.first_name
नहीं, यह मेरा मतलब नहीं है, तालिका 1 में कोई पहला_नाम नहीं है, मुझे बस चाहिए table2 से first_name। आपके उत्तर के लिए धन्यवाद :) –
स्वीकार किए जाते हैं जवाब सही जवाब है लेकिन जब टेबल दो अलग-अलग डेटाबेस में होते हैं तो मुझे एक अजीब त्रुटि आई है:
मान लें कि तालिका 1 है डेटाबेस 1 और table2 डेटाबेस 2 में है। शुरू में मैं इस की कोशिश की है:
SELECT *, database2.table2.first_name FROM table1
LEFT JOIN database2.table2
ON database1.table1.id = database2.table2.table1_id
WHERE table1.id = 1
अजीब बात यह है कि अगर मैं PHP पीडीओ से इस क्वेरी की कोशिश कोई त्रुटि नहीं थे, लेकिन परिणाम database2.table2 से सभी स्तंभों निहित (केवल first_name स्तंभ की उम्मीद है)।
लेकिन अगर मैं कोशिश की है phpmyadmin से एक ही क्वेरी एक sintax त्रुटि मिली:
टेबल 'database2.table1' मौजूद नहीं है
तो, के लिए हल है कि, तो सभी डेटाबेस की जरूरत है इस:
SELECT database1.table1.*, database2.table2.first_name FROM database1.table1
LEFT JOIN database2.table2
ON database1.table1.id = database2.table2.table1_id
WHERE database1.table1.id = 1
बिल्कुल स्पष्ट रूप से निर्दिष्ट किया जाना चाहिए। और, अब तक कोई भी उल्लेख नहीं किया गया है, स्पष्ट बेहतर हन अंतर्निहित है; केवल "सभी" – glglgl
ग्रेट कहने के बजाय वांछित कॉलम सूचीबद्ध करना बेहतर है, यह वही है जो मैं चाहता था, बहुत धन्यवाद NullUserException :) –