【发布时间】:2019-10-01 01:13:28
【问题描述】:
我需要加入两次同一张表,如何在 Codeigniter 中完成?
表匹配
- match_id
- team_home_id
- team_away_id
- score_home
- score_away
- group_id
- round_id
- 获胜者
- 开始日期
- 开始时间
表团队
- team_id
- 姓名
- 代码
这是我必须加入的两张表。桌队必须参加两次桌队比赛。
$this->db->select('*')
->from('match, team')
->join('team AS team_a', 'match.team_home_id = team_a.team_id')
->join('team AS team_b', 'match.team_away_id = team_b.team_id')
->get()->result();
我的结果是比赛,只是其中一支球队:/
【问题讨论】:
-
一个很好的提示是永远不要使用邪恶的
SELECT *。相反,总是命名(并限定)您实际想要返回的列。 -
谢谢草莓,是的,这是一个很棒的提示,通常我只会从表格中选择我需要的东西。您是否有机会在这里尝试解决我的问题?
-
差不多,如果你按照上面的建议,任何剩余的问题都会消失。
-
不幸的是并没有消失,我将选择更改为:matches.score_home、matches.score_away、matches.winner、matches.start_date、matches.start_time、team_a.name、team_a.code、team_b。名称,team_b.code。结果只是 match 和 team_b。如果我删除 team_b 加入我会得到 team_a。
标签: mysql codeigniter