如果問題不是很清楚,我表示歉意,但是在標題空格內拼寫相對較困難。SQL Server:根據查詢中收集的值選擇行
想象一下,你有一個表,如下圖所示:
+----+---------+----------------+
| ID | Name | Country |
+----+---------+----------------+
| 1 | James | Mexico |
| 2 | Peter | South Africa |
| 3 | Paul | Mexico |
| 4 | Colonel | Panama |
| 5 | James | United Kingdom |
| 6 | Hannah | United Kingdom |
+----+---------+----------------+
我想要做的就是運行一個查詢,說我搶名叫詹姆斯任何人,任何人誰是住在同一個國家的人叫詹姆斯。在這種情況下,它會返回:
+----+--------+----------------+
| ID | Name | Country |
+----+--------+----------------+
| 1 | James | Mexico |
| 3 | Paul | Mexico |
| 5 | James | United Kingdom |
| 6 | Hannah | United Kingdom |
+----+--------+----------------+
雖然這個例子看起來有點荒謬,但它是基於一個真正的問題,當然是一個簡化。
事實上,很像這張表格(儘管分配的規則沒有說清楚),在詹姆斯國家還有其他人之前總會有一個'詹姆斯' - 所以例如從墨西哥交換詹姆斯來自墨西哥的Paul在這張桌子前面。
事實上,在大多數情況下,來自墨西哥的保羅將直接在墨西哥的詹姆斯之後,儘管這並不能保證。
那麼,什麼語法可以讓我執行這樣的查詢?是唯一可能的方法來做它將返回詹姆斯(ES?)的列表,然後使用WHERE country = mexico ||運行單獨的查詢。英國
感謝這看起來像正確的答案 –