मैं निम्न के समान एक मेज है युक्त के आधार पर बनाए श्रेणी स्तंभ:SQL क्वेरी: तालिका में एक varchar स्तंभ विशिष्ट मान
Date Description Value1 Value2
01/01/2012 shiny colour 2 0
01/01/2012 yellow colour 2 2
03/01/2012 matt colour 2 2
03/01/2012 matt 4 1
03/01/2012 shiny 2 2
मैं एक का चयन करें SQL क्वेरी लिखना चाहते हैं (T-SQL) है कि होगा उपरोक्त सभी स्तंभों को आउटपुट करें, लेकिन चयन कथन के आउटपुट के रूप में एक अतिरिक्त कॉलम प्रदर्शित करें जिसका मूल्य विवरण में "रंग" शब्द की उपस्थिति पर निर्भर करता है (यदि "रंग" मौजूद है तो यह एक मान होगा, अगर नहीं एक अलग मूल्य दिखाएगा)।
(मैं इसके शीर्ष पर एक और अतिरिक्त कॉलम भी प्रदर्शित करना चाहता हूं जिसका मूल्य विवरण कॉलम में "मैट" या "चमकदार" शब्दों की उपस्थिति पर निर्भर करता है। लेकिन मुझे लगता है कि ऐसा करने की विधि समान होगी)।
मेरा मानना है कि मुझे COALESCE फ़ंक्शन का उपयोग करके ऐसा करने में सक्षम होना चाहिए, लेकिन मैं इससे परिचित नहीं हूं और कुछ भी काम करने के लिए संघर्ष कर रहा हूं?
विस्तार
अरे, अपने जवाब के लिए धन्यवाद। वे वास्तव में सहायक हैं। मेरे पास प्रश्न के लिए एक और विस्तार है। मेरा दूसरा जेनरेट किया गया कॉलम पहले जेनरेट किए गए कॉलम में जानकारी पर निर्भर करता है। तो कुछ ऐसा:
SELECT *,
CASE
WHEN Description LIKE '%colour%' THEN 'SomeValue'
ELSE 'Unclassified'
END AS Category1,
CASE
WHEN AnotherColumn LIKE 'Something' THEN 'SomeValue'
WHEN Category1='Unclassified' THEN 'Unclassified'
ELSE 'Generic'
END AS Category2
FROM table_name
श्रेणी 1 के आउटपुट पर भरोसा करने के लिए मैं श्रेणी 2 का आउटपुट कैसे प्राप्त करूं? मैं उपर्युक्त की तरह कुछ कोशिश कर रहा हूं लेकिन यह काम नहीं कर रहा है।
मेरे विस्तार प्रश्न का यहां उत्तर था:T-SQL CASE statement relies on another CASE statement in same SELECT query
बिल्कुल सही धन्यवाद! – Katie