2011-06-16 7 views
7

के साथ चुनें * मैं तालिका से सभी फ़ील्ड का चयन करने के लिए चयन * का उपयोग करना चाहता हूं लेकिन मैं केवल एक फ़ील्ड पर उपनाम का उपयोग करना चाहता हूं। क्या यह संभव है? यदि ऐसा है तो वाक्यविन्यास क्या होगा।* विशिष्ट उपनाम [वाक्यविन्यास]

उदाहरण

select *, 
item1 as hats 
from factory 

मैं इस काम की तरह कुछ भी, धन्यवाद करने के लिए सक्षम नहीं किया गया है!

+1

आपको सभी फ़ील्ड का नाम देने की आवश्यकता नहीं है। ओपी का कथन वैध है क्योंकि 'my1 से colcol के रूप में col1, col2 का चयन करें' कम से कम सभी SQL कार्यान्वयन पर मुझे पता है। – Hyperboreus

उत्तर

14

मैं सिर्फ mysql और postgres पर

select *, item1 as hats from factory 

की कोशिश की और दोनों डीबीएमएस पर यह ठीक चलाता है। केवल ध्यान दें कि आपको आइटम 1 के साथ दो कॉलम मिलते हैं। आइटम 1 और एक नाम टोपी नामक एक कॉलम।

+0

डुप्लिकेट को हटाना संभव होगा? – tylercomp

+0

किस डीबीएमएस के साथ आप काम कर रहे हैं? (कृपया इसे टैग करें) – Hyperboreus

+0

अच्छी तरह से मुझे नहीं पता कि यह क्यों काम नहीं करता है मैं एसक्यूएल सर्वर 2007 का उपयोग कर रहा हूं, मुझे लगता है कि किसी भी तरह से यह सब ठीक है धन्यवाद! डुप्लिकेट वास्तव में कोई फर्क नहीं पड़ता और शायद वास्तव में मेरी समस्या – tylercomp

2

हां, उस प्रारूप का उपयोग करना संभव है, हालांकि Select * का उपयोग अनुशंसा नहीं है। अपने इच्छित कॉलम को गिनना बेहतर है। कुछ डेटाबेस उत्पाद बाल्क हो सकते हैं यदि आपके अलियाड कॉलम के साथ संयोजन में कॉलम की सूची डुप्लिकेट कॉलम नाम उत्पन्न करती है। हालांकि, फिर से, आप स्तंभों की गणना करके इसे हल कर सकते हैं।

+0

मुझे गणित पर भरोसा नहीं है ... क्योंकि मैं इसे इस संदर्भ में समझ नहीं पा रहा हूं। आपके पास कोई उदाहरण है? – tylercomp

+0

@tylercomp "enumerate" = "* का उपयोग करने के बजाय कॉलम सूचीबद्ध करें"। यानी, अपने इच्छित कॉलम के बारे में स्पष्ट रहें और * पर भरोसा न करें। – Thomas

+0

ओह मैंने हमेशा इसे पसंद किया है जैसे लिस्टिंग 1,2,3,4,5 का चयन करें और पहले पांच कॉलम प्राप्त करें ... लेकिन मुझे नहीं लगता कि मैं उन्हें सूचीबद्ध करने का मार्ग ले सकता हूं ... बहुत से लोग तुरंत व्यवहार्य हो सकते हैं ; पठनीयता – tylercomp

2

यह काम करना चाहिए, लेकिन ध्यान रखें कि आपका आइटम 1 कॉलम डुप्लिकेट होगा!

मान लें कि आपकी तालिका में कॉलम (आईडी, आइटम 1, आइटम 2) हैं, तो आपका प्रस्तावित चयन वापस आ जाएगा (आईडी, आइटम 1, आइटम 2, टोपी)।

2

यह MS Sql Server में भी मान्य है लेकिन आपके द्वारा उपरोक्त कॉलम को डुप्लिकेट किया जाएगा। एसक्यूएल सर्वर 2005 में क्वेरी का प्रयास किया और यह काम किया।

select *,col2 as 'customcol' from table1 
संबंधित मुद्दे