2011-08-25 9 views
0

記事構造とタグの関係を持つツリーテーブルがあります。3つのテーブルの孤立した行を見つけよう

木のテーブルは記事が削除されたときに時々記事のタグの関係があまりにも削除され、

1. tagnames_with_id 
2. tag_id_relationship_with_article_id 
3. article_with_id 

ですが、今でトラブルがtransanctionが正常に完了していないときに時々、テーブルが持っているということです使用されていないデータ。

  1. どのように私は関係 テーブルではなく、タグテーブルに含まれていないすべてのタグのIDを検索し、それらを削除することができますか?これらは、 の関係が削除されたタグです。

  2. リレーションシップテーブル にあり、タグテーブルにないすべてのタグIDを見つけて削除するにはどうすればよいですか?これらは が削除されていても関係がまだ存在するタグです。

  3. 記事の表にない は関係にあるすべての記事IDを見つけるにはどうすればよいですか?これらは削除された の記事とのタグ関係ですが、タグの関係はまだ です。

ここおかげ

答えて

4

はこの質問への一般的な答えです:この構文はボヘミアンの答えと同様に

0

の私が知っているすべてのデータベース上で動作します

select * from child_table 
where parent_id not in (select id from parent_table) 

が、使用して存在します。

select * from child_table where not exists 
(select null from parent_table where child_table.parent_id = parent_table.id) 
関連する問題