2013-04-29 42 views
0

我有兩個表,Items和Items_People。每個物品都有一個id和一個userid(擁有物品的人)。 Items_People,顯示項目與誰共享的表格,有一個itemid和一個用戶標識。我想獲得用戶擁有已經與該用戶如何選擇擁有的項目或訪問中已共享的項目2003

這裏共享項目或項目的列表是我到目前爲止有:

SELECT * FROM Items 
WHERE id IN (SELECT itemid as id FROM Items_People where userid = 1) 
OR userid=1 

這並不工作,但我不知道如果使用WHERE IN嵌套選擇是最快的方式。我應該使用某種連接嗎?

回答

0

做一些測試,看看哪個運行速度更快。我相信這個查詢將根據您在問題中提到的內容起作用。

SELECT * 
FROM Items 
OUTER JOIN Items_People on Items.id = Items_People.itemid AND Items_People.userid = 1 
WHERE Items.userid=1 

顯然,首先運行此查詢以確保它給你相同的結果。然後測試每個查詢,看看您是否注意到速度上的差異。