【发布时间】:2015-05-25 06:11:56
【问题描述】:
我有两张桌子
玩家(ID - 名称)
比赛(TournamentID - Player1 - Player2 - 结果)
我正在尝试加入一个名为“Tennis Tournament”的主桌,其中显示每场比赛,例如(PlayerName 1 vs PlayerName 2)
我的查询只使用了一个 ID1_G(Player1),但我不知道也可以获取 ID2_G(Player2)。
下一个语法是我正在尝试的,但它不起作用...
$tournament = $this->games->where('ID_T_G', $id)
->join('rounds', 'rounds.ID_R', '=', 'games_wta.ID_R_G')
->join('players_wta', 'players_wta.ID_P', '=', 'games_wta.ID1_G', 'or', 'games_wta.ID2_G')->get();
图像总是比文字更好,所以我会告诉你(如果你以前不理解我的话)我想做什么。
请给点建议!
【问题讨论】:
-
拥有表的 CREATE 语句会很棒。
-
我没有,我手动创建了表格。
-
在同一张表上的相应键上加入两次。
-
我已经这样尝试过了,它显示这个错误:SQLSTATE[42000]: 语法错误或访问冲突:1066 Not unique table/alias: 'players_wta' (SQL: select * from
games_wtainner在rounds上加入roundsrounds.ID_R=games_wta.ID_R_G内连接players_wtaplayers_wta.ID_P=games_wta.players_wta内连接@9867654333@@98676 .ID_P=games_wta.ID2_G其中ID_T_G= 1) -
正如@wanted 所提到的,您能否发布表格架构?您可以导出数据库以使用架构生成 SQL 文件,然后使用架构更新您的问题。
标签: php mysql laravel join where