0

我有两张桌子。

一个包含 3 列的默认数据,(值为 1 或 0)在同一张表中是一个 ClientID

另一个表包含带有日期、ClientID 和名为“已更改”的额外列的已编辑数据

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

这一切都很好,但我想在 php 中创建一个可以选择日期范围的报告,并且查询应该按 ClientID 分组并计算 3 列的选定日期范围中的所有 1。(每列分开)

这是诀窍:当特定行中的 Changed = 0 时,它应该检查默认值,如果 Changed = 1 它应该检查第二个表。然后将其与前几行一起计算。

我希望你明白我想要创造什么

4

1 回答 1

2

您可以使用 SQL 中的 IF 函数

例如

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

这是如何在 SUM 中将列用于大小写的示例

于 2012-12-11T08:57:01.263 回答