2013-01-14 73 views
-2

我很努力得到正確的語法,我需要什麼,想知道如果有人可以幫忙嗎?加入3列表與多列連接

我有3個表:用戶,owneditems和shopitems

從用戶我需要獲得用戶名和城市

從owneditems我需要獲得用戶名和爲itemid

從shopitems我需要得到在owneditems和用戶ID和城市


用戶ID將是相同的

的itemid上owneditems將是一樣的shopitems ID

市shopitems和用戶將是相同的


我後是要找出用戶在打領帶哪個城市瞭解他們在那個城市擁有哪些物品。

我嘗試使用的語法是

SELECT users.city, users.id, shopitems.city, shopitems.id, owneditems.itemid, owneditems.userid 
FROM users, shopitems, owneditems 
WHERE users.city = shopitems.city 
    AND owneditems.itemid = shopitems.it 
    AND users.id = owneditems.userid 

回答

0

這是不完全清楚你正在嘗試做的,但你有沒有使用LEFT JOIN嘗試的INNER JOIN代替:

select u.city, 
    u.id, 
    s.city, 
    s.id, 
    o.itemid, 
    o.userid 
from users u 
left join owneditems o 
    on u.id = o.userid 
left join shopitems s 
    on u.city = s.sity 
    and o.itemid = s.itemid 
+0

我想我最終得到它 SELECT users.city,users.id,shopitems.city,shopitems.id,owneditems.itemid,owneditems.userid FROM users,shopitems,owneditems WHERE users.city = shopitems.city AND owneditems.itemid = shopitems.id和users.id = owneditems.userid AND users.city = 1 AND users.id = 93074 –

+0

那麼您的查詢是否正在工作? – Taryn