こんにちは、テーブルを別の値で更新したいのですが、その方法がわかりません。
私はこれを試しましたが、うまくいきません。
UPDATE tblagendamiento SET
CodigoAgenda =
(select tmptable.CodigoCita from tmptable where tmptable.id = tblagendamiento.id);
そして、これはエラーです:
Subquery returns more than 1 row
こんにちは、テーブルを別の値で更新したいのですが、その方法がわかりません。
私はこれを試しましたが、うまくいきません。
UPDATE tblagendamiento SET
CodigoAgenda =
(select tmptable.CodigoCita from tmptable where tmptable.id = tblagendamiento.id);
そして、これはエラーです:
Subquery returns more than 1 row
サブクエリが複数の行を返しているため、実際にはエラーが発生しています。INNER JOIN
クエリを使用するだけでこれを達成できると思います
UPDATE tblagendamiento a
INNER JOIN tmptable b
ON a.id = b.id
SET a.CodigoAgenda = b.CodigoCita
このメッセージは、サブクエリによって複数の行が返されたことを示しています。ランダムな値を使用したくない場合 (limit 1
クエリに追加することで実行できます)、それは where 句が十分に選択的でないことを意味します。