SQL Server选择不包括Junction表的数据

时间:2014-03-08 21:16:51

标签: sql sql-server

我需要选择联结表中不存在的数据 所以有三张桌子

trialsTable(trialID,TrialName) VolunteerTble(志愿者ID,志愿者姓名) JunctionTAble(JunctionTableIs,TrialID,VolunteerName)

每次试用都会向志愿者发送一封电子邮件,但下次我要排除那些收到该试用版电子邮件的志愿者,并且只向没有收到该试用版电子邮件的志愿者发送电子邮件,因此我创建了联结表这与试验和志愿者有很多关系

1 个答案:

答案 0 :(得分:1)

假设您有@TrialId的变量或其他内容,您当前需要这样的内容:

SELECT * 
  FROM VolunteerTable v
 WHERE NOT EXISTS(SELECT 1 
                    FROM JunctionTable j 
                   WHERE j.VolunteerName = v.VolunteerName 
                     AND j.TrialID = @TrialId)

你应该把志愿者ID放在你的juntion表而不是名字中。