[英]SQL Join tables and show default value for unmatched records in the right table
WHERE
子句将外部联接转换为内部联接。 我想你要:
SELECT c.id, c.name, COALESCE(co.amount, 0) as amount
FROM clients c LEFT OUTER JOIN
collectibles co
ON c.id = co.client_id AND co.removed = 0;
您需要COALESCE()
返回0
而不是NULL
。
您不应在其中使用左联接表的列。 在这种情况下,这种方式可以用作内部联接,将条件添加到相关的ON子句中
SELECT c.id
, c.name
, ifnull(co.amount ,0)
FROM clients c
LEFT OUTER JOIN collectibles co ON c.id = co.client_id
AND co.removed = 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.