我有一个包含大量字段的表格,我想总结一下数据的“完整性”。为此,我计划将更新写入摘要表。
我的问题如下:
Table1 (the data table)
DataID
Data1
Data2
Table2 (the summary table)
DataID
Data1 (NULL YES or NO - 0 or 1)
Data2 (NULL YES or NO - 0 or 1)
基本上,我想针对Table2运行更新查询,该查询与DATAID匹配,然后如果NOT NULL则将标志更新为1,如果为NULL则将标志更新为
我知道这是相当基础的,但我还在学习SQL,所以请善待:)
答案 0 :(得分:1)
试试这个:
UPDATE
table2 t2, table1 t1
SET
t2.Data1 = IF( t1.Data1 is null, 0, 1 ),
t2.Data2 = IF( t1.Data2 is null, 0, 1 )
WHERE
t2.DataID=? and t1.DataID=t2.DataID;
将?
查询参数设置为所需的DataID
值。
答案 1 :(得分:0)
UPDATE
table2 a
INNER JOIN
table1 b ON a.dataID = b.dataID
SET
a.data1 = b.data1 IS NOT NULL,
a.data2 = b.data2 IS NOT NULL
WHERE
a.dataID = ?