कृपया इस पर मेरे साथ भालू, यह समझाना काफी मुश्किल है और मुझे यकीन नहीं है कि मैं सही शब्दावली का उपयोग कर रहा हूं या नहीं।एसक्यूएल: सशर्त चयन के भीतर सशर्त चयन
मुझे एक जटिल चयन करने की आवश्यकता है। यह प्रभावी रूप से एक चुनिंदा कथन है जो सशर्त रूप से निर्णय लेता है कि चयन को फ़िल्टर करने के लिए किस क्षेत्र का उपयोग करना है। यदि कोई निश्चित दिनांक फ़ील्ड शून्य नहीं है, तो मुझे यह जांचना होगा कि उस फ़ील्ड में मान एक निश्चित सीमा के भीतर है।
स्यूडोकोड:
If [Date] is not null
Get sum (table.value) for rows Date >= dateValue and Date < dateValue
Else
Get sum (table.value) for rows Int >= intValue and Int < intValue
मेरे वर्तमान प्रयास:
SELECT CASE WHEN a.Date IS NOT NULL THEN
(SUM(CASE WHEN (a.Date >= cal.Date) THEN ABS(a.Value) ELSE 0 END))
ELSE
(SUM(CASE WHEN (b.Days >= 0) THEN ABS(a.Value) ELSE 0 END)
END AS 'A'
अन्यथा यदि उस तारीख फ़ील्ड रिक्त है मैं एक ही मेज पर एक और क्षेत्र, पूर्णांक क्षेत्र, जांच करने की आवश्यकता एक निश्चित सीमा के भीतर है
कोई विचार? पूछें कि आपको अधिक जानकारी चाहिए या नहीं। अग्रिम धन्यवाद।
कृपया मेरा संपादन – gbn
Yup देखें। चीयर्स। मेरे पास मूल रूप से एक कथन था या लेकिन इंटीजर फ़ील्ड को तब भी खींचा जाएगा जब डेट फ़ील्ड में डेटा शामिल था लेकिन बस सीमा के भीतर नहीं आया था। वहाँ एक शून्य जांच जोड़ने के बारे में नहीं सोचा था! आउच! – Damien