我有兩張表Costtable(Id,ResourceId,Amount,Date)和 ResourceTable(ResourceId,Name)它將輸出顯示爲下面。如何在一個月內顯示'0'數額(如果該月表中沒有數據)
我想表明在9月的情況下0量爲名稱的其餘部分。對於例如如果資源的其餘部分沒有成本表中出現,他們應該在量出現0
我所需的輸出
我當前的查詢
SELECT
RG.Id AS Id,
RG.Name AS Name,
ISNULL(SUM(AC.Amount), 0) AS Amount,
RIGHT(CONVERT(varchar(10), AC.[Date], 105), 7) AS [YearMonth]
FROM
Cost AS AC
INNER JOIN Resource AS RG ON AC.ResourceGroupId = RG.Id
WHERE
AC.PortalId = '100' AND
[Date] >= DATEADD(MONTH, DATEDIFF(MONTH, 0, DATEADD(m, -11, GETDATE())), 0)
GROUP BY
RG.Name,
RG.Id,
RIGHT(CONVERT(varchar(10), AC.[Date], 105), 7)
ORDER BY
RG.Name DESC
如果需要使用日期/月的工作,你應該創建一個日期表,無論是一個,每天行或可能還有一個每月一行。這是一個更容易與日曆 –
加入您的成本何時創建缺少的行什麼結果你得到上面的查詢? –
我從我的查詢給予 – user1037747