2014-09-29 65 views
0

我的SQL查询是这样的:尽管主记录为空,LEFT JOIN应该如何返回值?

SELECT SUM(i.itemPrice) as total, t.sTax 
FROM items AS i 
LEFT JOIN tax_table AS t ON t.branchID = 10 
WHERE i.orderID = 10 

totalNULLorderID 10将返回sTax价值。如果totalNULL对于orderID 10sTaxNULL

如何获得sTax虽然如果totalNULL

回答

1

这里查询你正在寻找:

SELECT SUM(i.itemPrice) AS total 
    ,CASE 
     WHEN SUM(i.itemPrice) IS NULL THEN (SELECT t.sTax 
              FROM tax_table AS t 
              WHERE t.branchID = 10 
              LIMIT 1) 
     ELSE NULL 
     END AS tax 
FROM items AS i 
WHERE i.orderID = 10 
GROUP BY i.orderID 

查询返回的每个项目的总价格,如果这个总数NULL,返回税(否则税是NULL)。

希望这会有所帮助。

相关问题