INNER JOIN查询出错

时间:2015-03-10 21:18:15

标签: mysql database inner-join

我遇到了这个问题: 我有三张桌子: users:包含所有用户信息和主键 gallery:包含用户ID和图像ID之间的关系 photoes:包含照片ID和网址(照片存储在服务器上的位置)

这是三个表的一个例子

  

表名:用户
  name_surname ||乔||约翰||
  电子邮件|| @乔.. ||约翰@ .. ||
  等等...
  id(PRIMARY KEY)|| 1 || 2 ||

     

表名:画廊
  id || 1 || 1 ||
  image_id || 1 || 2 ||
  表名:照片
  ID || 1 || 2个||
  URL || || pht1.jpg || phot2.jpg

问题是我在下面进行了这个查询,但是它返回null并且它应该返回所有url,其中用户id就像登录站点的用户的id

"SELECT gallery.url
 FROM photoes
 JOIN gallery ON users.id = gallery.id
 JOIN photoes ON gallery.image_id = photoes.id"

我认为可能问题出在INNER JOIN查询语法中,有人可以帮助我吗? 谢谢你未来的答案 祝你今天愉快 卢卡

1 个答案:

答案 0 :(得分:0)

您正在加入照片[原文如此]而不提及 table 用户。试试这个:

SELECT gallery.url
 FROM users
 JOIN gallery ON users.id = gallery.id
 JOIN photoes ON gallery.image_id = photoes.id

顺便提一下,gallery.id的更标准名称是gallery.user_id,以显示其引用的位置。您可能还想修复photos上的拼写。