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