1

我有一个包含很多字段的表格,我想总结数据的“完整性”。为此,我计划将更新写入汇总表。

我的问题如下:

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 则更新为 0

我知道这是相当基本的,但我仍在学习 SQL,所以请善待 :)

4

2 回答 2

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值。

于 2012-06-16T16:06:36.953 回答
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 = ?
于 2012-06-16T17:22:35.297 回答