我很難解釋這個,所以你可能會被標題弄糊塗了。 但我會在這裏盡我所能。如何用一個連接「連接」一個表格兩次?
假設我們有以下情形:
測試表
- 測試ID
- testtakenby(ID)
- testrevisedby(ID)
用戶
- 用戶ID
- 用戶名
有沒有我能得到以下結果的方式:
「測試採取user1和通過user2的修訂後的」
無需兩次加入表格? 像這樣:
select * from tests
inner join users on tests.testtakenby = users.userid
inner join users on tests.testrevisedby = users.userid
我希望有得非常好,因爲我通過加入同一個表兩次擔心的可能的性能問題的高級SQL技巧(我相信它不會與執行,以及雙連接)
如果您有性能問題,您應該查找正確的索引而不是更改您的解決方案。 – Jens
我不這麼認爲,爲什麼連接兩次會出現性能問題? – Ric
您需要別名第二個用戶實例 - 如果這是問題 - 另一個解決方案是在select – Cato