2011-07-26 17 views
11

जब कोई जुड़ना (आंतरिक, बाएं बाहरी, दाएं बाहरी या जो कुछ भी) बनाते हैं, तो मैं तालिका में कौन से कॉलम मूल तालिका में शामिल होने के लिए निर्दिष्ट कर सकता हूं?MySQL - शामिल होने पर विशिष्ट कॉलम?

SELECT FirstName FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID 

इस उपयोगकर्ता से FirstName का चयन होगा, लेकिन प्रदाता से सब कुछ का चयन करें:

निम्न उदाहरण पर विचार करें। मैं कैसे निर्दिष्ट कर सकता हूं प्रदाता के कौन से हिस्सों को परिणाम में शामिल किया जाना चाहिए?

उत्तर

10

इस तरह:

SELECT User.FirstName, Provider.* FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID 
+0

क्या यह प्रदाता से सब कुछ नहीं चुनता है? –

+0

यह वह नहीं है जो वह चाहता है? कम से कम यही है कि मैं * से समझ रहा हूं लेकिन प्रदाता * –

+2

से सबकुछ चुनें, आपको अंतिम वाक्य को देखने की आवश्यकता होगी :)। "मैं कैसे निर्दिष्ट कर सकता हूं कि प्रदाता के कौन से हिस्सों को परिणाम में शामिल किया जाना चाहिए?" –

5
SELECT User.FirstName, Provider.ID, Provider.YourExtraColumnname, Provider.YourExtraColumnname2 FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID 
4
  SELECT `User`.FirstName, Provider.* 
      FROM `User` 
LEFT OUTER JOIN Provider 
      ON `User`.ProviderID = Provider.ID 

1. आप स्तंभ से पहले तालिका नाम का उपयोग करें, या यदि आप अपने टेबल उर्फ, आप अन्य नाम का उपयोग कर सकते हैं।

उदा। LEFT OUTER JOIN Provider p और उसके बाद आप इस तरह का चयन खंड पर प्रदाताओं आईडी पहुंच सकता है:

SELECT `User`.FirstName, p.ID 

2. मैं तालिका नाम User आसपास बैकटिक कहा, क्योंकि यह MySQL

के लिए एक आरक्षित शब्द है
2

आप विशिष्ट निर्दिष्ट कर सकते हैं आइटम चुनने के लिए, जैसे:

SELECT User.FirstName, Provider.ID, Provider.Name FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID 
संबंधित मुद्दे