Mysql 使用多列连接连接3个表

Mysql 使用多列连接连接3个表,mysql,left-join,inner-join,Mysql,Left Join,Inner Join,我正在努力获得我所需要的正确语法,不知道是否有人可以帮助我 我有3个表:用户、owneditems和shopitems 我需要从用户那里获得用户ID和城市 从owneditems中,我需要获取用户ID和项目ID 从shopitems中,我需要获得id和城市信息 owneditems和用户上的用户ID将相同 owneditems上的itemid将与shopitems上的id相同 城市对shopitems和用户的影响将是相同的 我所追求的是找出用户所在的城市,并将他们在该城市拥有的物品联系起来

我正在努力获得我所需要的正确语法,不知道是否有人可以帮助我

我有3个表:用户、owneditems和shopitems

我需要从用户那里获得用户ID和城市

从owneditems中,我需要获取用户ID和项目ID

从shopitems中,我需要获得id和城市信息


owneditems和用户上的用户ID将相同

owneditems上的itemid将与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

现在还不清楚您想做什么,但是您是否尝试过使用
左连接
而不是
内部连接

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

我想我最终得到了它从用户、shopitems、owneditems中选择users.city、users.id、shopitems.city、shopitems.id、owneEdItems.userid,其中users.city=shopitems.city和owneEdItems.id=shopitems.id和users.id=owneEdItems.userid和users.city=1和users.id=93074