2016-11-09 52 views
0

我正在開發SSRS報告並需要有關數據集查詢的幫助。我不知道如何編寫查詢來實現所需的數據。使用SQL Server查詢SSRS

查詢1:

SELECT DISTINCT FullDate, 
    SUM([Gross]) AS Gross 
    ,StoreName 

FROM [T1] inner join [T2] 
on T1.StoreKey = T2.StoreKey 

inner join T3 
on T1.DateKey = T3.DateKey 

where [Store] = 'B' 
and FullDate = '2016-10-24' 

group by FullDate, 
StoreName 

這樣做的結果是:

FullDate  Gross  StoreName 
2016-10-24 2621.89   B 

QUERY2:

SELECT DISTINCT FullDate,SUM(TotalCost) AS TotalCost, 
    SUM([Gross]) AS Gross 
    ,StoreName 

FROM [T1] inner join [T2] 
on T1.StoreKey = T2.Storekey 

inner join T3 
on T1.DateKey = T3.DateKey 

inner join T4 
on T1.DateKey = T4.DateKey 
and T1.StoreKey = T4.StoreKey 


where [Store] = 'B' 
and FullDate = '2016-10-24' 

group by FullDate, 
StoreName 

這樣做的結果是:

FullDate  TotalCost  Gross  StoreName 
2016-10-24  5   20060.12   B 

我想用query2實現2621.89,這樣我就可以在一個表中爲SSRS使用它。

回答

0

試試這個..我分別拿着TOTALCOST列查詢在左連接

SELECT DISTINCT FullDate SUM([Gross]) AS Gross 
     ,StoreName 
     ,SUBSET.TotalCost 
    FROM [T1] 
    INNER JOIN [T2] ON T1.StoreKey = T2.Storekey 
    INNER JOIN T3 ON T1.DateKey = T3.DateKey 
    INNER JOIN T4 ON T1.DateKey = T4.DateKey 
     AND T1.StoreKey = T4.StoreKey 
    LEFT JOIN (
     SELECT DISTINCT FullDate SUM(TotalCost) AS TotalCost 
      , 
      ,StoreName 
     FROM [T1] 
     INNER JOIN [T2] ON T1.StoreKey = T2.Storekey 
     INNER JOIN T3 ON T1.DateKey = T3.DateKey 
     INNER JOIN T4 ON T1.DateKey = T4.DateKey 
      AND T1.StoreKey = T4.StoreKey 
     WHERE [Store] = 'B' 
      AND FullDate = '2016-10-24' 
     GROUP BY FullDate 
      ,StoreName 
     ) AS SUBSET ON FullDate = SUBSET.FullDate 
     AND [Store] = SUBSET.FullDate 
    WHERE [Store] = 'B' 
     AND FullDate = '2016-10-24' 
    GROUP BY FullDate 
     ,StoreName 
     ,SUBSET.TotalCost 
     , 
    SELECT DISTINCT FullDate SUM([Gross]) AS Gross 
     ,StoreName 
     ,SUBSET.TotalCost 
    FROM [T1] 
    INNER JOIN [T2] ON T1.StoreKey = T2.Storekey 
    INNER JOIN T3 ON T1.DateKey = T3.DateKey 
    INNER JOIN T4 ON T1.DateKey = T4.DateKey 
     AND T1.StoreKey = T4.StoreKey 
    LEFT JOIN (
     SELECT DISTINCT FullDate SUM(TotalCost) AS TotalCost 
      , 
      ,StoreName 
     FROM [T1] 
     INNER JOIN [T2] ON T1.StoreKey = T2.Storekey 
     INNER JOIN T3 ON T1.DateKey = T3.DateKey 
     INNER JOIN T4 ON T1.DateKey = T4.DateKey 
      AND T1.StoreKey = T4.StoreKey 
     WHERE [Store] = 'B' 
      AND FullDate = '2016-10-24' 
     GROUP BY FullDate 
      ,StoreName 
     ) AS SUBSET ON FullDate = SUBSET.FullDate 
     AND [Store] = SUBSET.FullDate 
    WHERE [Store] = 'B' 
     AND FullDate = '2016-10-24' 
    GROUP BY FullDate 
     ,StoreName 
     ,SUBSET.TotalCost 
     ,