我正在尝试进行一个相当复杂的SELECT
计算,我将对其进行概括:
- 主查询是表的通配符选择
- 一个子查询
COUNT()
根据条件执行所有项目中的一项(这很好用) - 另一个子查询
SUM()
根据另一个条件在列中执行一个数字。这也可以正常工作,除非没有记录满足条件,否则它会返回NULL
.
我最初想将两个子查询相加,(subquery1)+(subquery2) AS total
除非 subquery2 为 null,否则total
无论 subquery1 的结果是什么,它都可以正常工作,在这种情况下变为 null。我的第二个想法是尝试创建第三列来计算两个子查询(即(subquery1) AS count1, (subquery2) AS count2, count1+count2 AS total
),但我认为不可能计算两个计算列,即使是这样,我也觉得一样问题适用。
除了获取两个子查询值并将它们汇总到我的程序中之外,有没有人有一个优雅的解决方案来解决这个问题?
谢谢!