Mysql
在兩個內聯視圖上使用左連接的 MySQL 查詢不會在第二個視圖中返回沒有值的行
出於某種原因,當我執行下面的程式碼時,我只會得到兩個視圖中都有 sku 的結果。我認為這應該在第一個視圖中為我提供所有內容,並在第二個視圖中添加內容(如果存在)。如果 oli.sku 不在 po 視圖中,我希望能夠使用 0 作為下面 po.tot2 的值。
SELECT oli.sku, oli.tot as oli_tot, po.tot2 as po_tot, oli.tot - po.tot2 as diff FROM ( SELECT sku, COALESCE(SUM(quantity),0) as tot FROM orderlineitems GROUP BY sku ) oli LEFT JOIN ( SELECT sku, COALESCE(SUM(amount),0) as tot2 FROM poentries GROUP BY sku ) po ON oli.sku = po.sku WHERE oli.tot - po.tot2 > 0;
您
po
在 WHERE 子句中使用,實際上是說它不能為空。也許使用: IFNULL(po.tot2,0) 而不是 po.tot2