我有两张桌子:
- 标签
- tags_news(绑定)
我需要删除不包含id
from 的数据tags table
。
示例:
标签:1、2 标签_
新闻:2
tags_news 中没有 id=1 的数据。我需要删除它。我不知道怎么做。请帮我。
我有两张桌子:
我需要删除不包含id
from 的数据tags table
。
示例:
标签:1、2 标签_
新闻:2
tags_news 中没有 id=1 的数据。我需要删除它。我不知道怎么做。请帮我。
您可以使用NOT EXISTS
DELETE tn FROM dbo.TagsNews tn
WHERE NOT EXISTS(
SELECT 1 FROM dbo.Tags t
WHERE t.ID = tn.ID
)
你也可以使用a Left join
,见下文
DECLARE @tags TABLE ( id INT )
DECLARE @tags_news TABLE ( id INT )
INSERT INTO @tags
( id )
VALUES ( 1 )
INSERT INTO @tags
( id )
VALUES ( 2 )
INSERT INTO @tags
( id )
VALUES ( 3 )
INSERT INTO @tags_news
( id )
VALUES ( 2 )
DELETE t
FROM @tags AS t
LEFT JOIN @tags_news tn ON t.id = tn.id
WHERE tn.id IS NULL
SELECT id
FROM @tags
delete from tags where id not in(select id from tags_new)