我的树表与文章结构有标记关系。
树表是
1. tagnames_with_id
2. tag_id_relationship_with_article_id
3. article_with_id
现在,有时当文章被删除时,文章的标签的关系也会被删除,但现在麻烦的是,有时当转换未正确完成时,表格中的数据没有被使用。
如何找到关系中不存在的所有标记ID 表但在标签表中删除它们?这些是标签 关系已被删除。
如何找到关系表中的所有标记ID 但不是在标签表中删除它们?这些是标签 已被删除,但他们的关系仍然存在。
如何找到关系中的所有文章ID,但是 不在文章表中?这些是与标签的关系 已删除但仍与其标签关系相关的文章 存在。
由于
答案 0 :(得分:4)
以下是这个问题的一般答案:
select * from child_table
where parent_id not in (select id from parent_table)
此语法适用于我所知道的每个数据库
答案 1 :(得分:0)
与波西米亚人的答案类似,但使用存在:
select * from child_table where not exists
(select null from parent_table where child_table.parent_id = parent_table.id)