【发布时间】:2012-04-09 16:01:46
【问题描述】:
我有两个通过外键“ID”连接的表:
表 A 有 ID,MONTH,VOTES 以及表 B ID,MONTH,OTHER_VOTES。
table A 和 table B 如预期的那样收集选票。并非所有时间都有这两种投票。
我想LEFT JOIN B 到 A 以便在 OTHER_VOTES 不存在的月份(无,空)我会得到 0 而不是空单元格。
这可能吗?
谢谢!
【问题讨论】:
我有两个通过外键“ID”连接的表:
表 A 有 ID,MONTH,VOTES 以及表 B ID,MONTH,OTHER_VOTES。
table A 和 table B 如预期的那样收集选票。并非所有时间都有这两种投票。
我想LEFT JOIN B 到 A 以便在 OTHER_VOTES 不存在的月份(无,空)我会得到 0 而不是空单元格。
这可能吗?
谢谢!
【问题讨论】:
确实如此。在选择列的地方,使用IFNULL(OTHER_VOTES, 0)。
【讨论】:
COALESCE(OTHER_VOTES, 0) 相同还是IFNULL(OTHER_VOTES, 0) 在这种情况下效果更好?如果COALESCE 做了几乎相同的事情(可能开销更少?),试图找出为什么存在IFNULL 函数。