假设我在 MySQL 数据库中有两个表。
表格1:
ID Name
1 Jim
2 Bob
表 2:
ID Place Race_Number
1 2nd 1
1 3rd 2
1 4th 3
2 1st 1
2 2nd 2
2 2nd 3
从数据库中选择行时,有没有办法将第二个表中的行作为列连接到第一个表?目前我正在使用SELECT * FROM Table1 NATURAL JOIN Table2
.
这输出:
ID Name Place Race_Number
1 Jim 2nd 1
1 Jim 3rd 2
1 Jim 4th 3
2 Bob 1st 1
2 Bob 2nd 2
2 Bob 2nd 3
目前,我正在我的 PHP 脚本中对其进行排序,以将其排序为一个数组。这很痛苦,因为我必须查看 ID 并查看它们是否相同,然后进行相应的排序。我觉得有一种方法可以在 MySQL 中正确执行此操作,而无需在 PHP 中将其排序到数组中。对于每个 ID,第二个表中可以有无限数量的条目。
MySQL 查询的所需结果是:
ID Name Race1 Race2 Race3
1 Jim 2nd 3rd 4th
2 Bob 1st 2nd 2nd
我不能自己在表格中为 Race1、Race2 等创建列,因为每个 ID 可以有无限数量的比赛。
谢谢你的帮助!