Using Case results in where clause - i would like to use the results of TorL - SQL Server -
<पूर्व>
DECLARE @TodayDayOfWeek INT DECLARE @EndOfPrevWeek दिनांक समय DECLARE @StartOfPrevWeek दिनांक समय समाप्ति @EndOfThisWeek दिनांक समय DECLARE @StartOfThisWeek दिनांकटाइम - Delcared पैरामीटर
सेट @TodayDayOfWeek = DatePart (DW, GetDate ()) सेट @EndOfPrevWeek = DATEADD (दिन, - @ TodayDayOfWeek, GetDate () ) सेट @StartOfPrevWeek = DATEADD (दिन, - (@ TodayDayOfWeek + 6), GetDate ()) सेट @StartOfThisWeek = DATEADD (दिन, - @ TodayDayOfWeek, GetDate ()) + 1 सेट @EndOfThisWeek = DATEADD (दिन, - @ TodayDayOfWeek , GetDate ()) + 7 - इस हफ्ते या अंतिम सप्ताह के लिए उपयोग करने के लिए पैरामीटर दिनांक सेट करें
st.SALESID, st.SALESNAME का चयन करें , St.CUSTACCOUNT, st.CUSTOMERREF, सेंट। सलेस्टाटस, डास्ट (SL.LINENUM के रूप में दशमलव (18,0)), SL.ITEMID, कास्ट (SL.SALESQTY के रूप में दशमलव (18,0)), कास्ट (sl.LINEAMOUNT दशमलव (18,2)) के रूप में, जब ST.OfPrevWeek और @EndOfPrevWeek के बीच ST.CREATEDDATETIME तब 'एल' जब st.CREATEDDATETIME b etween @StartOfThisWeek और @EndOfThisWeek तो 'टी' अंत salestable सेंट भीतरी में शामिल होने salesline sl से st.SALESID = sl.SALESID जहां st.DATAAREAID = 'fr' आदेश पर 'TORL' TORL द्वारा टारल मामले के परिणाम है, मैं इस का उपयोग करके फ़िल्टर करना चाहूंगा, जहां यह केवल दिखाता है कि टी या एल इस सप्ताह के लिए टी या पिछले हफ्ते एल है।
धन्यवाद
<पूर्व> ; के साथ MyCTE AS (st.SALESID, st.SALESNAME, st.CUSTACCOUNT, st.CUSTOMERREF, st.SALESSTATUS का चयन करें, डाली (SL.LINENUM के रूप में दशमलव (18,0)) एएस LINENUM, SL.ITEMID, डाली (दशमलव के रूप में SL.SALESQTY (18,0)) एसएएसएसक्वाटी, कास्ट (SL.LINEAMOUNT दशमलव (18,2) के रूप में) LINEAMOUNT, मामला है जब st.CREATEDDATETIME @StartOfPrevWeek और @EndOfPrevWeek तो 'एल' के बीच जब @StartOfThisWeek और @EndOfThisWeek तो 'टी' अंत salestable सेंट भीतरी में शामिल होने salesline sl से TORL के बीच पर st.CREATEDDATETIME st.SALESID = sl.SALESID जहां सेंट DATAAREAID = 'fr') का चयन करें * MyCTE से कहाँ Torl = 'T'
Comments
Post a Comment