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)

基本的に、DATAID に一致する Table2 に対して更新クエリを実行し、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 に答える