我需要编写一个存储过程来更新我们数据库中没有活动承诺的联系人,我似乎无法找到一种方法来计算承诺表中0行的联系人。
承诺表中的外键是supporter_id,我尝试过使用Count(*),但它只返回1或更多。
提前致谢。
PS:这是在MS SQL数据库上。
答案 0 :(得分:2)
我们需要更多信息来为您提供具体答案,但有多种方法可以识别不匹配的记录,这里有两种:
LEFT JOIN:
SELECT a.*
FROM TableA a
LEFT JOIN TableB b
ON a.ID = b.ID
WHERE b.ID IS NULL
不存在:
SELECT *
FROM TableA a
WHERE NOT EXISTS (SELECT *
FROM TableB b
WHERE a.ID = b.ID)
答案 1 :(得分:0)
我结束了使用子查询,所以我首先确定谁有我想要的类型的承诺,然后寻找不在该列表中的联系人。
感谢您的回复。