別のテーブル フィールドに基づいてフィールドを更新したいと考えています。テーブルは次のようになります。
TABLE A
SID SMONTH STID VID VVID
1 201312 s10 v5 ?
2 201312 s10 v5 ?
1 201312 s11 v7 ?
2 201401 s11 v7 ?
1 201312 s1 v9 ?
2 201401 s1 v9 ?
1 201312 s1 v60 ?
1 201312 s1 v71 ?
上の表 A では、下の表 B の VVID で VVID 列を更新する必要があります。
TABLE B
VVID STID VID WEIGHT
v1 s10 v5 0.5
v2 s10 v5 7.5
v1 s11 v7 1.5
v2 s11 v7 6.5
v1 s1 v9 5
v2 s1 v9 5
v1 s1 v60 5
v1 s1 v71 5
上記の表 B では、VVID は、STID、VID、および WEIGHT の 3 つのフィールドに基づいて生成されます。しかし、テーブル A には WEIGHT フィールドがありません。したがって、以下のコードを使用すると、「単一行のクエリが複数の行を返します」というエラーが発生します。
UPDATE A
SET VVID = (SELECT distinct VVID
FROM B
WHERE B.STID = A.STID and B.VID = A.VID )
提案をお願いします。
ありがとう