MySQLでテーブルA(id,name)とテーブルB(id,uid,account)があり、SELECT テーブルB.account FROM テーブルA INNER JOIN テーブルB ON テーブルA.id =テーブルB.uid WHERE テーブルA.id=1”;で連結はできid=1のものはうまく拾うことができます。この連結をDELETEでやるとうまくいきません。よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/06/08 18:07:34
  • 終了:--

回答(2件)

id:hakotantou No.1

hakotantou回答回数4ベストアンサー獲得回数02004/06/08 18:36:33

ポイント25pt

http://dev.mysql.com/doc/mysql/ja/DELETE.html

MySQL AB :: MySQL 4.1 リファレンスマニュアル :: 6.4.5 DELETE 構文

テーブルAとテーブルBの両方から行をDELETEするのであれば、こちらのURLが参考になるかと思います。

http://dev.mysql.com/doc/mysql/ja/Subqueries.html

MySQL AB :: MySQL 4.1 リファレンスマニュアル :: 6.4.2 サブクエリ構文

テーブルBだけをDELETEの対象にするのであれば、WHERE節にサブクエリを記述すればよいのではないでしょうか?

id:jto No.2

jto回答回数16ベストアンサー獲得回数02004/06/08 18:47:17

ポイント25pt

「この連結をDELETEでやる」というのは、この結果抽出されるレコードをテーブルBからDELETEするという意味なら、

DELETE FROM テーブルB WHERE uid in (SELECT id FROM テーブルA WHERE id=1);

でいかがでしょう?

はずしてたらすみません。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません