【发布时间】:2023-03-04 02:08:02
【问题描述】:
下面的语句联合了这两个查询,但为没有计算值的公司留下了空值。如何从这两列中删除空值?或者有没有更好的方法将这两个计算列组合到一个表中。谢谢。
SELECT Company,
Sum(CASE
WHEN voltage = '99 kV' THEN number * 1
WHEN voltage = '199 kV' THEN number * 2
WHEN voltage = '299 kV' THEN number * 3
WHEN voltage = '399 kV' THEN number * 4
WHEN voltage = '599 kV' THEN number * 5
WHEN voltage = '799 kV' THEN number * 6
ELSE 0
END) AS 'score1',
NULL AS score2
FROM Table1
WHERE [year] = '2020'
GROUP BY Company
UNION ALL
SELECT Company,
NULL AS score1,
Sum(CASE
WHEN voltage = '99 kV' THEN number * 1
WHEN voltage = '199 kV' THEN number * 2
WHEN voltage = '299 kV' THEN number * 3
WHEN voltage = '399 kV' THEN number * 4
WHEN voltage = '599 kV' THEN number * 5
WHEN voltage = '799 kV' THEN number * 6
ELSE 0
END) AS 'score2'
FROM Table2
WHERE [year] = '2020'
GROUP BY Company
ORDER BY Company
【问题讨论】:
-
谢谢并道歉。
-
尝试合并 2 个表之前进行聚合。