2011-05-27 14 views
7

मेरे पास एक सीएमएस है जिसके लिए एक ड्रॉपडाउन के लिए विकल्पों/मानों को वापस करने के लिए SQL क्वेरी की आवश्यकता होती है ... आमतौर पर यह SQL क्वेरी में तालिका से पंक्तियां देता है और ड्रॉपडाउन विकल्पों में भर जाता है। कभी-कभी मैं ड्रॉपडाउन में दो स्थिर विकल्प रखना चाहता हूं और उन दो अपरिवर्तनीय वस्तुओं को प्रबंधित करने के लिए पूरी तालिका बनाना नहीं चाहता हूं।MySQL रिटर्न स्थिर स्ट्रिंग्स

मेरे सवालों का है: वहाँ एक MySQL क्वेरी कि एक टेबल क्वेरी नहीं होगा, लेकिन सिर्फ कुछ स्थिर परिणाम देंगी जैसे कि यह एक मेज से क्वेरी कर रहे थे? किसी भी मदद के लिए अग्रिम में

value 
////////////// 
Option One 
Option Two 
Option Three 
Etc... 

धन्यवाद:

आदर्श रूप में मैं इस के समान है (लेकिन स्थिर) कुछ करना चाहते हैं:

SELECT value FROM `fake_table` 

और निम्नलिखित वापसी!

+0

वे स्थिर मान रहे हैं, क्यों अपने html में न सिर्फ कड़ी मेहनत से कोड उन्हें? फिर बाद में '

+0

जांचें कि क्या क्वेरी परिणाम खाली है और एक डिफ़ॉल्ट व्यवहार वापस करें – Ibu

+1

हार्ड-कोडित मानों का उपयोग करें, और अपने आप को एक नकली MySQL क्वेरी के ओवरहेड को सहेजें। –

उत्तर

18
select 'Option One' as Value 
union 
select 'Option Two' as Value 
1

वाक्य रचना मान लिया जाये कि एक निरंतर मूल्य का चयन करने के लिए MSSQL के रूप में MySQL में एक ही है:

SELECT 'fake_value_1' AS value, 1 AS sort 
UNION ALL 
SELECT 'fake_value_2', 2 
UNION ALL 
SELECT value, 3 FROM table 
ORDER BY sort, value 

sort स्तंभ नकली मूल्यों हमेशा परिणाम सेट की शुरुआत में दिखाई सुनिश्चित करता है, लेकिन वह वास्तविक मूल्य उनके मूल्य से क्रमबद्ध होते हैं।

नोट कि यूनियन ऑल (यूनियन के विपरीत) परिणाम परिणामों को जोड़ते समय डुप्लिकेट को खत्म करने का प्रयास नहीं करेगा। यह वैध मानते हुए कि आपके स्थैतिक मान वास्तविक तालिका में किसी भी मूल्य को डुप्लिकेट नहीं करेंगे - यह ध्यान में रखना उचित है, क्योंकि यूनियन के पास थोड़ा बेहतर प्रदर्शन है (इस मामले में कोई फर्क नहीं पड़ता है, लेकिन एक अच्छा सामान्य नियम)।

इसके अलावा नोट: @Marc बी टिप्पणी में उल्लेख है रूप में, यह चिंताओं के बजाय डेटाबेस में उस तर्क डालने की, अपनी प्रस्तुति परत में स्थिर मूल्यों डाल करने के बेहतर जुदाई हो सकता है।

0

एकल स्तंभ के रूप में एक स्ट्रिंग और दो कॉलम रिटर्निंग:

SELECT CONCAT('example string', column1, column2) AS combined FROM table; 
संबंधित मुद्दे