我有一个maillist表,它包含所有用户名,这是主键。我有第二个表,Registry,其用户名为外键。我正在执行一个复选框表单,从SQL Server数据库中提取名称,我想从列表中排除已存在于我的Registry表中的名称。仅供参考,注册表用于跟踪已注册高尔夫活动的人员。 maillist表是所有高尔夫成员的主表。 以下代码不起作用。
SQL = "SELECT maillist.MAILID as maillist_mailid,maillist.L_NAME,maillist.F_NAME, "
SQL=SQL &" registry.mailid as registry_mailid FROM maillist, registry "
SQL=SQL &"WHERE maillist.mailid<>registry.mailid ORDER BY maillist.mailid, maillist.l_name"
谢谢,戴夫
答案 0 :(得分:3)
试试这个(Sql Server 2005 +的版本):
SELECT MAILID
FROM maillist
EXCEPT
SELECT MAILID
FROM registry
或者这个(版本2000 +)
SELECT
maillist.MAILID as maillist_mailid,
maillist.L_NAME,
maillist.F_NAME
FROM maillist
WHERE MAILID NOT IN (SELECT MAILID FROM registry)
答案 1 :(得分:1)
试试这个
SELECT
A.MailID
,A.L_Name
,A.F_Name
FROM MailList A
LEFT OUTER JOIN Registry B
ON A.MailID = B.MailID
WHERE B.MailID IS NULL