【问题标题】:How to INNER JOIN more than two categories?如何INNER JOIN超过两个类别?
【发布时间】:2012-01-28 06:53:04
【问题描述】:

我在这里有点困惑,需要一些帮助......

情况是我已经制作了三个表格(fr_Leagues、fr_nations 和 fr_confeds),我要做的就是添加一个联赛,它显示类别的名称而不是带有分页的 i.d。这是代码:

现已修复!

  "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"

【问题讨论】:

  • 你能发布你的表的架构吗?

标签: php mysql left-join inner-join categories


【解决方案1】:

您缺少如何将不同的表链接在一起。在每个 INNER JOIN 上,您需要拥有它:

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

【讨论】:

  • 你能说得更具体些吗?
  • 收到此错误:#1054 - 'on Clause' 中的未知列 'C.league_id' 这是我添加的内容: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.confed_id = C.league_id LIMIT $paginate->start, $paginate->limit
  • @HiroHito:我只是让 SQL 更明显,这是 Johann 最初发布的内容,他没有使用格式。
【解决方案2】:

使用这个查询

SELECT * 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.confed_id = C.league_id

限制$分页->开始,$分页->限制

【讨论】:

  • 它显示这个错误:#1054 - Unknown column 'C.league_id' in 'on Clause'
  • 如果league_id 不是主键意味着........不可能进行内部连接...给我三个表结构..
  • 我已经解决了这个问题,你能看看我的另一个问题。谢谢。 stackoverflow.com/questions/9052196/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 2012-05-30
  • 2021-03-08
  • 1970-01-01
相关资源
最近更新 更多