2011-12-19 8 views
0

私は2つのテーブルeventslocationsを持っています。それぞれには、正しい場所にイベントを照合するために、venue_idという列があります。 venue_idは主キーではありません。MySQL - 使用されていない行を削除する

locationsの行を削除するためにどのようなクエリを実行できますか?

+2

を。 – cdeszaq

+1

場所テーブルでvenue_idがヌルの場合、またはイベントテーブルへの外部キーが存在しない場所を意味しますか?私はあなたの質問に基づいて完全にはわからない。スキーマを表示すると役立ちます。 –

答えて

3

これはそれを行う必要があります。

DELETE FROM locations WHERE venue_id 
NOT IN (SELECT DISTINCT venue_id FROM events) 
+0

私は私の答えを削除し、これをupvote – Gonza

1

たぶんのようなもの:私たちはあなたを助けることができるようにテーブル構造の詳細を参照する必要が

DELETE FROM Locations where venue_id not in 
    (select distinct venue_id from Events);