2012-11-25 10 views
26

निम्न क्वेरी MySQL के साथ ठीक काम करता है: चयनित शीर्षक क्षेत्र के लिएConcat एक स्ट्रिंग को चुनने के लिए * MySql

SELECT concat(title,'/') FROM `socials` WHERE 1 

यह Concat /

हालांकि

, जब मैं निम्नलिखित करने की कोशिश:

SELECT concat(*,'/') FROM `socials` WHERE 1 

यह follwoing त्रुटि देता है:

#1064 - You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right syntax to use near '*,'/') FROM `socials` WHERE 1 LIMIT 0, 30' at line 1 

तो वहाँ MySql साथ काम करने के इस तरह के एसक्यूएल क्वेरी बनाने के लिए किसी भी तरह से है

+0

नहीं, यह एक सादे चयन में नहीं किया जा सकता है। क्या आप एक संग्रहीत प्रक्रिया का उपयोग कर सकते हैं? – rene

+1

संग्रहीत प्रक्रिया का उपयोग नहीं करना मेरे लिए एक विकल्प नहीं है। – SaidbakR

उत्तर

34

आप बस एसक्यूएल में ऐसा नहीं कर सकते हैं।

SELECT CONCAT(field1, '/'), CONCAT(field2, '/'), ... FROM `socials` WHERE 1 

यदि आप किसी एप्लिकेशन का उपयोग कर रहे हैं, तो आप स्तंभ नाम पढ़ने के लिए एसक्यूएल उपयोग कर सकते हैं, और फिर इसके बाद के संस्करण की तरह एक प्रश्न के निर्माण के लिए आपके एप्लिकेशन का उपयोग: आप स्पष्ट रूप से क्षेत्रों की सूची और हर एक concat किया है। कॉलम नामों को ढूंढने के लिए यह स्टैक ओवरफ्लो प्रश्न देखें: Get table column names in mysql?

+0

आप सभी को धन्यवाद, लेकिन इस उत्तर का सबसे अलग पहलू इसे सही के रूप में प्राप्त करने के लिए, यह दिखा रहा है कि एकाधिक फ़ील्ड का चयन कैसे प्राप्त किया जाए। – SaidbakR

+1

@ sємsєм, आप इसे मैन्युअल रूप से सूचीबद्ध करके करते हैं (या, यदि आप किसी ऐप का उपयोग कर रहे हैं, तो आप कॉलम पढ़ने के लिए एसक्यूएल का उपयोग कर सकते हैं और फिर ऊपर की तरह एक क्वेरी बनाने के लिए अपने ऐप का उपयोग कर सकते हैं)। –

2

आप स्ट्रिंग के साथ कई फ़ील्ड को जोड़ नहीं सकते हैं। आपको सभी के फील्ड इंस्टेंड (*) का चयन करने की आवश्यकता है।

1

आप इसे एकाधिक फ़ील्ड पर नहीं कर सकते हैं। आप this भी देख सकते हैं।

20

आप उपयोग कर खेतों को श्रेणीबद्ध करना चाहते हैं/एक विभाजक के रूप में, आप concat_ws उपयोग कर सकते हैं:

select concat_ws('/', col1, col2, col3) from mytable 

आप हालांकि क्वेरी में कॉलम लिस्टिंग बच नहीं सकते। * -सिंटाक्स केवल "चयन * से" में काम करता है। आप स्तंभों को सूचीबद्ध कर सकते हैं और क्वेरी को गतिशील रूप से बना सकते हैं।

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