構造が同一の 2 つのテーブルがあります。Table1
モデレートされたデータをtable2
保持し、残りを保持します。
表1
+--------+--------+---------------+--------+-------- ---+ | | "ID" | "名前" | "説明" | "タイプ" | "国" | +--------+--------+---------------+--------+-------- ---+ | | "1" | "a" | "×" | "1" | "米国" | | | "2" | "b" | "×" | "1" | "イギリス" | +--------+--------+---------------+--------+-------- ---+
表 2
+-----+----------+-----------------+--------+--- ------+----------+ | | "ID" | "名前" | "説明" | "タイプ" | "国" | "ステータス" | +-----+----------+-----------------+--------+--- ------+----------+ | | "1" | 「タイトル1」 | "説明 1" | "1" | "米国" | "0" | | | "2" | 「タイトル2」 | "説明 2" | "10" | "イギリス" | "0" | +-----+----------+-----------------+--------+--- ------+----------+
table 1
からのデータで更新するために以下のSQLを実行しましたが、table 2
うまくいきました。唯一の問題は、id
両方の場所で を指定する必要があることです。1 か所だけ指定するとしたら、どこに移動しますか?
UPDATE table1 dest,
(SELECT name,
description
FROM table2
WHERE id = 1) src
SET dest.name = src.name,
dest.description = src.description
WHERE dest.id = 1;
この方法は次のとおりです。
UPDATE table1 SET name AND description =
(
SELECT name, description from table2
WHERE id=1 AND country=us and type=10
) WHERE id=idfromselect AND country=countryfromselect AND type=typefromselect
id
とをどこに置くべきかわかりませんremaining conditions
。手伝ってくれますか?