【发布时间】:2017-03-28 23:45:12
【问题描述】:
我有两个查询返回以下输出:T1 和 T2
现在我想在 T1.CMonth 和 T2.DueMonth 字段中加入这两个表。
最终输出应如 png 所示。
T1 的查询:
SELECT WorkManagementAsset.AssetCategory, CONVERT(CHAR(4), WorkItem.CompleteDate, 100) + CONVERT(CHAR(4), WorkItem.CompleteDate, 120) AS CMonth, COUNT(CONVERT(CHAR(4), WorkItem.CompleteDate, 100) + CONVERT(CHAR(4), WorkItem.CompleteDate, 120)) 作为 Total_Complete FROM WorkManagementAsset INNER JOIN WorkOrder ON WorkManagementAsset.Oid = WorkOrder.Asset INNER JOIN WorkItem ON WorkOrder.Oid = WorkItem.WorkOrder INNER JOIN InspectionDefectItem ON WorkItem.DefectItem = InspectionDefectItem.Oid AND WorkItem.Oid = InspectionDefectItem.WorkItem WHERE(不是(InspectionDefectItem.DefectGroupName LIKE N'Re%')) 按 WorkManagementAsset.AssetCategory 分组,CONVERT(CHAR(4),WorkItem.CompleteDate,100) + CONVERT(CHAR(4),WorkItem.CompleteDate,120) HAVING (WorkManagementAsset.AssetCategory = N'sealedroads') AND (NOT (CONVERT(CHAR(4), WorkItem.CompleteDate, 100) + CONVERT(CHAR(4), WorkItem.CompleteDate, 120) IS NULL))
T2 的查询:
选择 WorkManagementAsset.AssetCategory, CONVERT(CHAR(4), WorkItem.DueDate, 100) + CONVERT(CHAR(4), WorkItem.DueDate, 120) AS 到期月, COUNT(CONVERT(CHAR(4), WorkItem.DueDate, 100) + CONVERT(CHAR(4), WorkItem.DueDate, 120)) AS Total_DUE FROM WorkManagementAsset INNER JOIN WorkOrder ON WorkManagementAsset.Oid = WorkOrder.Asset INNER JOIN WorkItem ON WorkOrder.Oid = WorkItem.WorkOrder INNER JOIN InspectionDefectItem ON WorkItem.DefectItem = InspectionDefectItem.Oid AND WorkItem.Oid = InspectionDefectItem.WorkItem WHERE (NOT (InspectionDefectItem.DefectGroupName LIKE N'Re%')) GROUP BY WorkManagementAsset.AssetCategory, CONVERT(CHAR(4), WorkItem.DueDate, 100) + CONVERT(CHAR(4), WorkItem.DueDate, 120) HAVING
(WorkManagementAsset.AssetCategory = N'sealedroads')和 (CONVERT(CHAR(4), WorkItem.DueDate, 100) + CONVERT(CHAR(4), WorkItem.DueDate, 120) '0')
任何帮助将不胜感激。 谢谢
【问题讨论】:
标签: tsql join reporting-services common-table-expression