我有两个带有十进制值的表,使用以下语句我可以将它们全部加起来并得到总数。
SELECT(
(SELECT SUM(total) from recruitment where quote_id = 1)
+
(SELECT SUM(cost) from cost WHERE quote_id = 1)
)AS total
Run Code Online (Sandbox Code Playgroud)
但是,如果任一 select 返回 null,则总数为 null,因此我尝试使用 ISNULL 返回 0 而不是 null,如下所示:
SELECT(
(IFNULL(SELECT SUM(total) FROM recruitment WHERE quote_id = 1),0)
+
(IFNULL(SELECT SUM(cost) FROM cost WHERE quote_id = 1),0)
)AS total
Run Code Online (Sandbox Code Playgroud)
这不起作用,所以我只是想知道执行此操作的最佳方法是什么?