Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

sql . में तिमाही वर्षवार परिणाम फ़िल्टरिंग

कई पंक्तियों के मानों को एक साथ जोड़ने के लिए, आपको इसके समान XML PATH के लिए लागू करने की आवश्यकता होगी:

;with cte as
(
  select t.cust_id,
    sum(target) target,
    d.qtr,
    t.year,
    t.fiscal_id
  from yourtable t
  inner join
  (
    select 4 mth, 'Q1' qtr union all
    select 5 mth, 'Q1' qtr union all
    select 6 mth, 'Q1' qtr union all
    select 7 mth, 'Q2' qtr union all
    select 8 mth, 'Q2' qtr union all
    select 9 mth, 'Q2' 
  ) d
    on t.month = d.mth
  group by t.cust_id, d.qtr, t.year, t.fiscal_id
) 
select distinct cust_id,
  STUFF(
         (SELECT ' / ' + cast(c2.target as varchar(10))
          FROM cte c2
          where c1.cust_id = c1.cust_id
            and c1.year = c2.year
            and c1.fiscal_id = c2.fiscal_id
          FOR XML PATH (''))
          , 1, 2, '')  AS target,
  STUFF(
         (SELECT ' / ' + c2.qtr
          FROM cte c2
          where c1.cust_id = c1.cust_id
            and c1.year = c2.year
            and c1.fiscal_id = c2.fiscal_id
          FOR XML PATH (''))
          , 1, 2, '')  AS qtr,
  year,
  fiscal_id
from cte c1;

देखें SQL Fiddle with Demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रत्येक पंक्ति के लिए डेटा वाले स्तंभों की संख्या गिनें

  2. tsql एक स्ट्रिंग के अंदर की अंतिम घटना

  3. SQL Server 2008 भूगोल डेटा प्रकार का उपयोग क्यों करें?

  4. इकाई फ्रेमवर्क कैस्केड हटाएं

  5. MATLAB SQL सर्वर संचार करें