मुझे किसी दृश्य के लिए केस स्टेटमेंट लिखने में सहायता चाहिए। बेस टेबल में 2 कॉलम हैं जिन्हें मैं संदर्भित करूँगा: 'चरण' और 'YesNo'।सशर्त केस स्टेटमेंट सिंटैक्स
यदि चरण कॉलम 1 है, और YesNo कॉलम 1 है, तो मुझे इसे 'संख्या' के रूप में देखने के लिए CASE कथन की आवश्यकता है। यदि स्टेज कॉलम 1 है, और YesNo कॉलम 0 है, तो मुझे इसे 'हां' के रूप में देखने के लिए CASE कथन की आवश्यकता है। यदि स्टेज कॉलम 1 है, और YesNo कॉलम न्यूल है, तो मुझे इसे दृश्य में दिखाने के लिए CASE कथन की आवश्यकता है। यदि चरण 1 से कम कुछ भी है, तो मुझे दृश्य में दिखाने के लिए YesNo कॉलम की आवश्यकता है।
यह मेरा तर्क है जहां तक मुझे लगता है कि सही है, लेकिन जब मैं इसे चलाने की कोशिश करता हूं, तो मुझे 'AS' शब्द के बारे में वाक्यविन्यास त्रुटि मिलती है। कोई सुझाव?
CASE
WHEN a.Stage = 1 and a.YesorNo = 1 THEN 'No'
ELSE WHEN a.Stage = 1 and a.YesorNo = 0 THEN 'Yes'
END AS NewViewColumn
मैं सिर्फ कर सकते हैं कहें कि 'YesOrNo' नामक कॉलम होने पर 1 का अर्थ है 'नहीं' मुझे थोड़ा अंदर रोता है। –
मैं दृढ़ता से सुझाव देता हूं कि आप मैट की टिप्पणी पर ध्यान दें और अपनी नामकरण/डेटा योजना को ठीक करें। सबसे पहले, प्रोग्रामिंग में यह (लगभग?) सार्वभौमिक रूप से सच है कि 1 का मतलब है सत्य और 0 का मतलब गलत है। इसे उलटना बेहद अजीब है और आपके कोड को पढ़ने और समझने में काफी कठिन बनाता है। दूसरा, यद्यपि आपने अपना टेबल नाम 'YesOrNo' का उल्लेख नहीं किया है, यह बहुत अच्छा कॉलम नाम नहीं है क्योंकि यह एक प्रश्न का उत्तर है, न कि एक विशेषता। एक बेहतर नाम 'IsDeleted' या' NeedsExpressHandling' या 'HasPermission' या कुछ ऐसा है जो स्पष्ट रूप से सही/गलत है। – Pondlife