- ベストアンサー
MysqlのSQL文について
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
DELETE FROM 左表 右 WHERE EXISTS(SELECT 右.品番 FROM 右表 右 WHERE 左.品番=右.品番 AND 左.枝番=右.枝番)
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.2
create table t1 (品番 varchar(30),枝番 int); insert into t1 values('aaa',1),('bbb',2),('aaa',2),('ccc',3),('aaa',6); create table t2 (品番 varchar(30),枝番 int); insert into t2 values('aaa',2),('rrr',5),('bbb',5),('aaa',6); delete from t1 where (品番,枝番) in (select 品番,枝番 from t2); みたいな感じでよいのでは?
質問者
お礼
ご回答ありがとうございます。 いろいろな記述方法があり勉強になります。 質問前に,In演算子を使用していろいろ試していたのですが,記述方法が悪かったみたいでした...
お礼
ご回答ありがとうございます。 問題なく,欲しい結果を得ることができました。 Existsを使用するんですね。Inばかり使用して試していました...