1
目前,我有2个疑问:SQL联接查询援助
SELECT dateadd(month, x.MonthOffset,0) as [Month], SUM(x.itemcount) as [Total] FROM (SELECT datediff(month,0, cna.impdate) as MonthOffset, count(*) as itemcount FROM myTable WHERE (emergency = 'Emergency') AND (impdate BETWEEN '" + fromDate + "' AND '" + toDate + "') GROUP BY impdate) x GROUP BY MonthOffset ORDER BY MonthOffset asc SELECT dateadd(month, x.MonthOffset,0) as [Month], SUM(x.itemcount) as [Total] FROM (SELECT datediff(month,0, cna.impdate) as MonthOffset, count(*) as itemcount FROM myTable WHERE (impdate BETWEEN '" + fromDate + "' AND '" + toDate + "') GROUP BY impdate) x GROUP BY MonthOffset ORDER BY MonthOffset asc
这将返回数据的2列与项目每月计数。
我的问题发生在存在一个月没有紧急项目时。因为我将对象传递给第二个查询,如果从第一个检索到的列数与第二个查询不匹配,我将收到索引超出界限的错误。
如何将两个查询结合在一起,以便我可以有3列 - 月份,紧急总数和项目总数?紧急事件总数可以是0或null。
好的报价,它使得这两个方面,多少是突发事件都在每一个行月。应该很简单,让yookd做他需要的任何东西... – DRapp 2012-01-06 20:25:37
我不知道CASE表达式。谢谢你,这简单而优雅。 – 2012-01-06 20:44:53