1

私は2つのテーブルを持っています

表 A は次のとおりです。

ID NAME VALUE
1  abc  0
2  lmn  0
3  xyz  0

表 B は次のとおりです。

ID SUB_GROUP   VALUE
1  Category 1  10
1  Category 2  4
1  Category 3  8
1  Category 4  12
3  Category 1  6
3  Category 2  14
3  Category 3  0
3  Category 4  3

ID列を一致させることにより、テーブルBの最大の値に値列を設定することにより、テーブルAを更新したいが、カテゴリ2またはカテゴリ3のテーブルBの値に対してのみ

その MySQL クエリはどのように見えるでしょうか?

4

1 に答える 1

1
UPDATE  tableA a
        INNER JOIN
        (
            SELECT  ID, MAX(Value) max_val
            FROM    tableB
            WHERE   SUB_GROUP IN ('Category 2','Category 3')
            GROUP   BY ID
        ) b ON a.ID = b.ID
SET a.VALUE = b.Max_Val
于 2013-02-02T16:22:19.163 に答える