我是新手。假设数据库中有2个表:
表1:锦标赛
+------------+----------+---------+----------+
| id | format | Size | host |
+------------+----------+---------+----------+
| 7 | Single | 9 | Daniel |
| 8 | Single | 4 | Oscar |
+------------+----------+---------+----------+
表2:匹配
+------------+----------+-------------+----------+----------+
| id | player | position | score | winner |
+------------+----------+-------------+----------+----------+
| 7 | Arturo | 0 | 3 | 1 |
| 7 | Pablo | 1 | 2 | 0 |
| 8 | Ale | 0 | 1 | 0 |
| 8 | Maria | 1 | 5 | 1 |
+------------+----------+-------------+----------+----------+
现在我想获得ID为7和8的主机,大小,赢家,玩家,得分。你知道如何获得以下结构吗?:
[ Host:Daniel, size: 9, [ winner:1, player: Arturo, Score: 3], [winner:0, player: Pablo, Score: 2]], [host:Óscar, size:4,[winner:0, player: Ale, Score:0],....
提前致谢:)
答案 0 :(得分:0)
使用JOIN Syntax按id
字段加入表格:
SELECT
host, size, winner, player, score
FROM
tournaments INNER JOIN matchs USING (id);
如果要选择仅包含特定id
的行,请使用WHERE
子句。在您的情况下,在分号之后追加查询:
WHERE `id` IN (7, 8)
注意,MySQL无法创建复杂的对象。 SELECT仅返回行集。要将返回的数据集转换为结构,请使用服务器端平台的外部工具:C,C ++,C#,VB.NET,Python,PHP等。