我需要找到所有使用Last作爲標準的地址,但是,如果有人住在同一個地址並且姓氏不同,我也需要返回。查找匹配的行在同一個MS SQL表中
我的桌子下面ID Last Addr
---- ---- -----
1 Smith 123 Fake St
2 Smith 123 Fake St
3 Fox 123 Fake St
4 Jones 111 Jones Rd
我嘗試這個查詢
SELECT *
FROM Table
WHERE Addr IN
(SELECT Addr
FROM Table AS T
GROUP BY Addr
HAVING COUNT(ID) > 1)
AND Last = 'Smith'
這將返回ID爲1和2,但我還需要它返回ID 3,因爲地址是相同的
簡體版。我知道它沒有返回,因爲Last在我的WHERE語句中不匹配,但是,當我搜索並且需要知道其他人在同一個地址時,不管他們的名字如何,我都只有Last。
'AND Last ='Smith''在你的子查詢之外;將其移入子查詢的括號內;即在第二個「FROM TABLE」語句和「GROUP BY」子句 – JohnLBevan
之間移動它在子查詢中實際返回的結果更少;我不是專家,所以IDK爲什麼但沒有成功。不管怎麼說,還是要謝謝你。 – user2625842