【问题标题】:mysql query IF?mysql查询IF?
【发布时间】:2012-01-16 08:23:52
【问题描述】:
SELECT sum(table2.count+table1.count) 
FROM table1,table2
LEFT JOIN table3 ON table2.kind=table3.kind
WHERE table1.user='test' AND table2.user='test' AND table3.kind=1;

我正在尝试对 table1 和 table2 的“计数”求和。如果 table2 有匹配的行,那么 'kind' 必须匹配 table 3 上的 'kind'。

表 1 将始终被计算在内,但表 2 中可能没有匹配的行。 - 这是当前的问题。如果两个表都有行,它就可以正常工作。

如何使求和 table2 的结果可选(如果未找到匹配项)?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    COALESCE(table2.count, 0) 避免将传递给 sum() 的值归零,如果这是您的要求。

    【讨论】:

    • 我不确定我是否在问这个问题。即使table2中没有匹配的行(并且只计算table2.count),我也只是希望查询能够工作。
    猜你喜欢
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    相关资源
    最近更新 更多