2011-05-13 9 views
18

कहें कि मेरे पास दो टेबल हैं, owner और dog। दोनों में कॉलम name है, लेकिन मैं उनसे जुड़ना चाहता हूं, इसलिए एक समस्या है क्योंकि दोनों तालिकाओं में कॉलम name है। क्या मैं प्रश्न के दौरान कुत्ते की तालिका में name कॉलम का नाम बदल सकता हूं?क्या आंतरिक जुड़ने के दौरान एक शामिल कॉलम का नाम बदलना संभव है?

उत्तर

33
select d.Name as DogName, o.Name 
from Dog d 
inner join Owner o on d.OwnerID = o.OwnerID 
+0

'मालिक ओ' (तीसरी पंक्ति)' मालिक के रूप में मालिक 'से अलग कैसे है? – FRD

+0

@ एफआरडी यह वही काम करने का सिर्फ एक संक्षिप्त तरीका है। – RedFilter

0

हाँ, आप एक में शामिल होने के उत्पादन में कॉलम नाम बदल सकते हैं कि एक उपनाम कहा जाता है। हालांकि, तथ्य यह है कि वे समान हैं किसी भी समस्या का कारण नहीं है; वे सिर्फ पूरी तरह योग्य होने की जरूरत है।

9

हाँ, आप कर सकते हैं, लेकिन फिर आप क्षेत्रों के बजाय select * का उपयोग करने का सभी को बाहर दिखाई जानी चाहिए:

select o.*, d.* 
     from owner o 
inner join (select dog_id, name as dog_name, breed, age, owner_id from dog) d 
    on o.owner_id = d.owner_id 
+1

लेकिन, फिर, आपको चयन * का उपयोग करना चाहिए, इसलिए यह वास्तव में एक नुकसान नहीं है। – AllenG

0

आप स्तंभ के लिए किसी भी अन्य नाम नाम दे सकते हैं लेकिन वहाँ अन्य नाम की तरह कुछ नियम है चाहिए एसक्यूएल सर्वर का मुख्य शब्द नहीं, इसमें स्पेस नहीं होना चाहिए, यदि आप स्पेस चाहते हैं तो यह होना चाहिए [] आप उपनाम के लिए कुछ प्रतीकों का उपयोग नहीं कर सकते हैं।

पूर्व: - स्वामी का चयन करें। [Int], मालिक के रूप में। , कुत्ता। मालिक से आंतरिक मालिक से गोग में शामिल हों। आईडी = कुत्ता। आईडी

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