2012-01-28 55 views
0

我有点困惑在这里需要一些帮助......如何INNER JOIN超过两个类别?

的情况是我做了三个表(fr_Leagues,fr_nations和fr_confeds),我想要做的就是添加一个联赛足见类别的名称不是带分页的id。这里是代码:

现在固定!

"SELECT 
a.id as confed_id, 
a.fr_short_name as confed_name, 
    b.id as nation_id, 
b.fr_name as nation_name, 
c.id as league_id, 
c.fr_name as league_name" 
." FROM fr_confeds as a 
INNER JOIN fr_nations as b ON a.id = b.confed_id 
INNER JOIN fr_leagues as c ON b.id = c.nation_id" 
." LIMIT $paginate->start, $paginate->limit" 
+0

你可以发表你的表格架构吗? – 2012-01-28 06:56:44

回答

3

您不知道如何将不同的表格连接在一起。在每个INNER JOIN,你需要把它:

INNER JOIN fr_nations ON a.<someColumn> = b.<anotherColumn> INNER JOIN fr_leagues ON a.<someColumn> = b.<anotherColumn> 
+0

你可以请更具体吗? – HiroHito 2012-01-28 07:37:20

+0

收到这个错误: #1054 - 未知列 'C.league_id' 在 '上子句' 这是我加入: FROM fr_confeds为A INNER JOIN fr_nations为B ON A.id = B.confed_id INNER JOIN fr_leagues作为C ON B.confed_id = C.league_id LIMIT $ paginate-> start,$ paginate-> limit – HiroHito 2012-01-29 04:24:59

+0

工作就像一个魅力,谢谢@hakre – HiroHito 2012-01-29 07:09:23

0

使用此查询

SELECT * FROM fr_confeds为A

INNER JOIN fr_nations为B ON A.id = B.confed_id

INNER JOIN fr_leagues如C ON B.confed_id = C.league_id

LIMIT $ paginate->启动,$ paginate->限制

+0

似乎不起作用.. – HiroHito 2012-01-28 07:37:07

+0

它显示此错误: #1054 - 'on子句'中的未知列'C.league_id' – HiroHito 2012-01-28 19:05:46

+0

如果league_id不是主键意味着........这是不可能的使内部连接...给我三个表结构.. – 2012-01-29 16:36:25