0
我有以下表格。MySQL加入查詢問題
PHONES
- id
- name
- colour
- size
STOCK
- store_id
- phone_id
- instock
STORES
- id
- name
LINKS
- store_id
- phone_id
- url
我想從鏈接Select名稱,顏色,從PHONES大小,從STOCK使用inStock,從商店的名稱和URL WHERE stock.phone_id = phones.id = links.phone_id AND stock.store_id =鏈接。 store_id AND stores.id = stock.store_id。
我想出來,phone.name,phone.colour,phone.size,stock.instock,stores.name,links.url。
這是我目前的查詢。我沒有獲得與該商店和電話ID相關的特定鏈接。
SELECT DISTINCT(s.phone_id), st.name, st.logo_url, l.url, s.instock, s.datetime, p.model, p.colour, p.size
FROM stock AS s, stores AS st
INNER JOIN links AS l, phones AS p
WHERE s.phone_id = p.id
AND s.phone_id = l.phone_id
AND s.store_id = l.store_id
AND s.store_id IN ('3','4','5','6','8')
AND s.phone_id = '5'
ORDER BY datetime
DESC LIMIT 5
謝謝anothershrubery。您所建議的查詢確實會帶回我想要的內容,但是它僅返回where子句中的其中一個商店的列表。現在來看看它,但任何建議都會受到歡迎。 – ajay87 2011-03-18 16:47:58
如果你只是複製/粘貼我的查詢上面,問題是,我把一些完整的停止,而不是逗號!嘗試上面更新的查詢。 – anothershrubery 2011-03-18 16:51:13
其實如果你複製/粘貼上一個查詢,它應該不會跑!在不知道數據庫中的數據的情況下,我不明白爲什麼它不會使用它們的ID返回所有商店。嘗試不使用WHERE子句並查看返回的是什麼ID。 (很明顯,將's.id'添加到返回的字段中。) – anothershrubery 2011-03-18 16:53:23