我真的不知道如何寻找这个问题的解决方案,没有找到任何具体的东西,所以这里......
我有四个表,让我们简化它们:
players
=======
id name surname
1 John Arbuckle
2 Walter White
3 Don Draper
4 Louis CK
5 Tyrion Lannister
6 Abed Nadir
sports
======
id sport
1 football
2 handball
positions
=========
id name sport_id
1 goalie 1
2 defense 1
3 attack 1
4 goalie 2
5 pivot 2
6 wing 2
7 center 2
player_position
===============
player_id position_id
1 1
1 2
1 5
2 7
2 5
3 2
4 2
5 1
5 3
6 7
6 5
因此,玩家可以在多个位置上进行多项运动。首先,我必须显示某项运动的球员名单,包括他们所打位置的列。
我开始使用的是 JOIN 语句,我将在其中加入这些表并为每个玩家 ID 设置多行。这很接近,但不是很正确。我需要得到的是这样的表格:
足球
ID name surname position
1 John Arbuckle PHP array(goalie,defense)
手球
ID name surname position
1 John Arbuckle PHP array(pivot)
编辑:所以我正在寻找的是 GROUP_CONCAT()。多谢你们!