【发布时间】:2013-07-20 00:25:54
【问题描述】:
我有以下问题
SELECT MONTH, COUNT(DISTINCT VISITS) AS BRAND_VISITS, NULL AS NONB_VISITS
FROM Table1
WHERE KEYWORD_TYPE = BRAND(
AND DATE >= '2013-01-01'
GROUP BY MONTH
UNION ALL
SELECT MONTH, NULL, COUNT(DISTINCT VISITS) AS NONB_VSTS
FROM Table1
WHERE KEYWORD_TYPE = NON-BRAND
AND DATE >= '2013-01-01'
GROUP BY MONTH
我得到以下结果:
1 352540 NULL
2 309834 NULL
3 228764 NULL
4 236054 NULL
5 218096 NULL
6 172527 NULL
1 NULL 5337
2 NULL 14120
3 NULL 9954
4 NULL 23755
5 NULL 19771
6 NULL 30797
但是,我想要的是没有 NULLS 的内联结果
1 352540 5337
2 309834 14120
3 228764 9954
4 236054 23755
5 218096 19771
6 172527 30797
【问题讨论】:
-
看起来您需要的是 JOIN,而不是 UNION。
-
@RobertHarvey 我不同意,在这里可以很容易地使用 union,join 可能会导致计数为 0 的月份出现一些问题,尽管在此示例中不太可能发生
标签: sql-server tsql union union-all