SQL:3表内连接返回多个结果

时间:2015-07-19 16:40:48

标签: php mysql sql

SELECT video.name, video.description, video_source.url, bitcast_user.username
FROM video
INNER JOIN bitcast_user ON video.account_id = bitcast_user.id
INNER JOIN video_source ON video_source.video_id = {$_GET['id']};

这会返回包含错误视频名称,说明和关联帐户但结果不正确的结果。用户和视频,视频和来源之间存在一对多的关系。

1 个答案:

答案 0 :(得分:0)

您不应对变量进行INNER JOIN - 属于WHERE子句。 (实际上 - 我甚至感到惊讶,这根本不起作用。)我认为你需要这样的查询:

SELECT video.name, video.description, video_source.url, bitcast_user.username
  FROM video
  INNER JOIN bitcast_user ON video.account_id = bitcast_user.id
  INNER JOIN video_source ON video_source.video_id = video.video_id
  WHERE video_source.video_id = {$_GET['id']};

(我不确定video_source.video_id = video.video_id,因为我不知道列在video表中是如何命名的。)