2

こんにちは、テーブルを別の値で更新したいのですが、その方法がわかりません。

私はこれを試しましたが、うまくいきません。

UPDATE tblagendamiento SET
CodigoAgenda = 
(select tmptable.CodigoCita from tmptable where tmptable.id = tblagendamiento.id);

そして、これはエラーです:

Subquery returns more than 1 row
4

2 に答える 2

3

サブクエリが複数の行を返しているため、実際にはエラーが発生しています。INNER JOINクエリを使用するだけでこれを達成できると思います

UPDATE tblagendamiento a
INNER JOIN tmptable b
ON a.id = b.id
SET a.CodigoAgenda = b.CodigoCita 
于 2013-06-08T15:31:56.677 に答える
2

このメッセージは、サブクエリによって複数の行が返されたことを示しています。ランダムな値を使用したくない場合 (limit 1クエリに追加することで実行できます)、それは where 句が十分に選択的でないことを意味します。

于 2013-06-08T15:32:11.823 に答える