2012-09-06 74 views

回答

3

可以聯接ReferenceId表,使用LEFT OUTER JOIN並將返回值限制在Table2上ReferenceId爲NULL的位置。

SELECT * FROM Table1 LEFT JOIN Table2 ON Table1.ReferenceId = Table2.ReferenceId 
WHERE Table2.ReferenceId IS NULL 
1
SELECT table1.id, table1.ReferenceID from table1 
    inner join table2 on table1.id = table2.id 
EXCEPT 
SELECT id, ReferenceID from table2 
3

您可以使用類似:

SELECT Id 
     ,ReferenceId 
FROM Table1 
WHERE ReferenceId NOT IN (SELECT DISTINCT ReferenceId FROM Table2); 
+0

雖然這部作品的樣本數據,我不認爲它的工作原理爲聲明的要求 – podiluska

+0

嗯,問題是不是完全清楚,然後...我將我再看一次。 – Josien

+0

我同意。這很難說 - 你可能是對的 – podiluska

3

如何從表2與同一ReferenceId選擇從表1的項目除外行?

然後通過t2.ReferenceId <> t1.ReferenceId

SELECT t1.id, t1.ReferenceID FROM t1 
INNER JOIN t2 ON t1.id = t2.id 
WHERE t2.ReferenceID <> t1.ReferenceID; 

See this SQLFiddle

0

查詢它排除ReferenceId與條件

SELECT * 
FROM Table1 t1 
JOIN Table2 t2 on t1.Id = t2.Id 
    AND t1.Id <> t1.ReferenceId 
+0

似乎沒有做它應該做的事情。你能糾正它嗎? – Josien