2012-04-09 911 views
2

我有两个表由外键'ID'连接:为LEFT JOIN设置为空的0结果?

表A有ID,MONTH,VOTES以及表B ID,MONTH,OTHER_VOTES。

表A和表B按预期收集选票。并非所有的时间都有两种选票。

我想要LEFT JOIN B到A,以便在OTHER_VOTES不存在的月份(无,空)我会得到0而不是空单元格。

这可能吗?

谢谢!

回答

6

确实如此。在选择列的地方,使用IFNULL(OTHER_VOTES, 0)

+0

出于我自己的好奇心,这与'COALESCE(OTHER_VOTES,0)'相同还是'IFNULL(OTHER_VOTES,0)'在这种情况下效果更好?试图找出为什么'IFNULL'功能存在,如果'COALESCE'几乎完成相同的事情(更少的开销可能?)。 – Travesty3 2012-04-09 16:05:43

+0

coalesce接受任意数量的可能为null的值,并简单地选出第一个非空值。如果你只是检查单个字段/值的空值,然后使用IF()。 – 2012-04-09 16:23:43