テーブル1(name)
|id|name|
|1 | 田中 |
|2 | 田中 |
テーブル2(趣味)
|id|テーブル1id(fk)|name
|1 | 1 | サッカー|
|2 | 2 |野球|
テーブル3(特技)
|id|テーブル1id(fk)|name
|1 | 1 | 将棋|
|2 | 1 |囲碁|
以上のようなテーブルがあったとして名前が重複しているレコードを削除したいのですが、外部キー制約が為
delete from テーブル1 where name = '1'
のように当然削除ができません。
手動ですとテーブル2、テーブル3を削除しテーブル1の重複行を削除するということはできるのですが、1つのクエリ文でテーブル2、テーブル3を削除し且つ重複しているテーブル1の行の1つを削除するというクエリが全く組み立てられず困っております。(そもそも重複行を許すなという話かもしれませんが)
どうクエリ文を組み立てていけばよいのでしょうか?よろしくお願い致します。
クエリ以前にテーブル設計が悪いのですが、そこは変更できますか?
回答1件
あなたの回答
tips
プレビュー