这应该很简单,但我只是无法找到答案(我将其归咎于我已经编写SQL近14个小时的事实)。SQL左连接,交叉连接 - 查找缺失值
我有一个名为“标签”字段和“ReportYear”字段的报表。我知道我有三个可能的“标签”值,但并非每个标签都会有每年的条目。
我可以选择一个不同的标签列表和获取:
'Regular'
'Special'
'None'
做一些手工数据选择在这里,我知道,在2011年和2010年有0项,并带有“特殊”,但我需要一个查询将这些信息汇总在一起,以便将其显示出来:
'Regular' - '2012' - '5'
'Regular' - '2011' - '2'
'Regular' - '2010' - '1'
'Special' - '2012' - '3'
'Special' - '2011' - '0'
'Special' - '2010' - '0'
'None' - '2012' - '10'
'None' - '2011' - '5'
'None' - '2010' - '2'
希望这是有道理的。
我知道我可以SELECT Count(*), Label FROM (SELECT DISTINCT Label FROM Report) t1
...但是呢? LEFT JOIN Report t2 ON t1.Label=t2.Label
? CROSS JOIN
?
我的大脑被炸。
帮助?
是的!那样做了。非常感谢! – JMax2012 2013-04-27 00:14:40
不客气。 – ErikE 2013-04-27 00:18:17