我的人(CarOwners
)一臺,以及各種他們自己查找組相匹配的行
+-------+-------+
| Name | Model |
+-------+-------+
| Bob | Camry |
| Bob | Civic |
| Bob | Prius |
| Kevin | Civic |
| Kevin | Focus |
| Mark | Civic |
| Lisa | Focus |
| Lisa | Civic |
+-------+-------+
給一個名字的車,我要如何找到其他人的確切同一汽車行駛?例如,如果我的目標是馬克,沒有其他人只有思域,所以查詢將不會返回任何內容。如果我的目標是Lisa,查詢將返回
+-------+-------+
| Name | Model |
+-------+-------+
| Kevin | Civic |
| Kevin | Focus |
+-------+-------+
因爲凱文和麗莎的車完全一樣。如果我定位凱文,查詢將返回麗莎。
我創建了一個包含我的目標人車的cte,但我不確定如何實現「完全匹配」要求。我所有的嘗試都會返回帶有子集匹配的結果。
with LisaCars as (
SELECT Model FROM CarOwners WHERE Name = 'Lisa'
)
SELECT Name, Model
FROM CarOwners
WHERE Model in (SELECT * FROM LisaCars) AND Name != 'Lisa'
此查詢將返回所有具有思域或焦點的人,這不是我要找的。
+-------+-------+
| Name | Model |
+-------+-------+
| Bob | Civic |
| Kevin | Civic |
| Kevin | Focus |
| Mark | Civic |
+-------+-------+
所以你想要完全匹配,而不是部分?即只有當一個人擁有與被查詢人完全相同的汽車(不多不少於)時纔是這樣。 – scsimon
Yah。我的示例查詢已經提供了部分匹配。 –