私はテーブルTablea
とTableb
の両方で一般的な1列(p_id
)しか持っていません。別の列をIDとして使用せずにTablebの列をTableaから更新する方法
Tablea
,p_id
の値は101~109であり、Tableb
,p_id
の値はnullです。
Tableb
p_id
の値をTablea
p_id
の値に更新する必要があります。
どうすればいいですか?
私は、クエリの下に実行してきましたが、それは別のID列なしでは動作しません:
update tableb set pid=(select tablea.pid from tablea) where tableb.id between 1 and 9;
し、それが次のエラーメッセージを返す:
メッセージ512、レベル16、状態1を行197サブクエリは1より多くを返しました 値。 =、!=、<、< =、>、> =、またはサブクエリが式として使用されている場合は、これは許可されません。ステートメントは終了されました。
1から9までの値を含むTableb
内の別の列ID
エラーは、あなたが 'tableb'のpidに' 1'以上の値を設定しようとしていると言います。 –
テーブル間には関係がありますか?もしそうなら、それに言及してください。 –
はい、tablebのp_idは外部キーとして使用されます。そして、tablebのp_idのすべての値を更新したいp_id –