2012-12-11 22 views
0

我有两个表。Mysql查询与案例总和

一个包含缺省数据为3列,(取值为1或0)。在同一个表是一个clientId

另一个表包含与日期,客户端ID,并命名为一个额外的列编辑的数据“更改”

如果更改= 1,则3列中的值会更改,因此需要从第二个表中读取。

这个工作正常,但我想在php中选择一个日期范围并且查询应该按ClientID进行分组,并在3列的选定日期范围内对所有1进行计数。 (每列单独)

这里的技巧:当在特定行中更改= 0时,它应该检查默认值,如果更改= 1,它应该检查第二个表。然后用前面的行数来计算它。

我希望你明白我想创建

+0

你可以发布样本数据和预期的输出吗? –

+0

纽曼给我的答案就足够了,解决方案完美运行 – AgeDeO

回答

2

可以IF函数使用来自SQL

例如

SELECT SUM(IF(Changed=1, t1.col1, t2.col2)) FROM t1, t2 WHERE t1.id=t2.id 

这是什么例如如何在SUM

使用列案
+0

Thnx for this solution – AgeDeO