我有两张桌子。
一个包含3列的默认数据,(值为1或0)在同一个表中是ClientID
另一个表包含带有日期,ClientID和名为“已更改”
的额外列的已编辑数据如果Changed = 1则更改3列中的值,因此需要从第二个表中读取。
这个工作正常,但我想在php中生成一个报告,其中可以选择日期范围,查询应按ClientID分组,并计算3列所选日期范围内的所有1。 (每列分开)
这是诀窍:当特定行中的Changed = 0时,它应检查默认值,如果Changed = 1,则应检查第二个表。然后用前面的行计算它。
我希望你明白我想要创造的东西
答案 0 :(得分:2)
您可以使用SQL中的IF函数
例如
SELECT SUM(IF(Changed=1, t1.col1, t2.col2)) FROM t1, t2 WHERE t1.id=t2.id
这是如何在SUM
中使用列的示例