特殊情况下一列的总和
Sum of one column in special condition
我有两个 table、table1 和 table2。
table2 外键(fk 列)是table1 主键(id 列)。
table2.column3 是位(True/False)。
我想计算 table2.column2 if table2.column3 True 的总和,并将总和结果保存在 table1 的行中id 等于 table2 外键.
这可能吗?可以咨询一下吗?
试试这个:
UPDATE table1
SET table1.field =
(SELECT SUM(table2.column2)
FROM table2
WHERE table2.fk_table1 = table1.id
AND table2.column3 = 1) <-- Usually true = 1, false = 0 and tinyint or equivalent type is the used type.
我有两个 table、table1 和 table2。 table2 外键(fk 列)是table1 主键(id 列)。 table2.column3 是位(True/False)。 我想计算 table2.column2 if table2.column3 True 的总和,并将总和结果保存在 table1 的行中id 等于 table2 外键.
这可能吗?可以咨询一下吗?
试试这个:
UPDATE table1
SET table1.field =
(SELECT SUM(table2.column2)
FROM table2
WHERE table2.fk_table1 = table1.id
AND table2.column3 = 1) <-- Usually true = 1, false = 0 and tinyint or equivalent type is the used type.