gpt4 book ai didi

mysql - 从 3 个表中获取所有结果而不重复

转载 作者:行者123 更新时间:2023-11-29 06:16:58 25 4
gpt4 key购买 nike

我有 3 个表:sportsvenuesinstructors,它们都有一个 id 和一个 名称。我不想使用 3 个单独的 SELECT * FROM table 来获取结果,因此结果类似于:

+----------+------------+----------+------------+---------------+-----------------+
| sport_id | sport_name | venue_id | venue_name | instructor_id | instructor_name |
+----------+------------+----------+------------+---------------+-----------------+
| 1 | Sport1 | 1 | Venue1 | 1 | Instructor1 |
| 2 | Sport2 | 2 | Venue2 | 2 | Instructor2 |
| 3 | Sport3 | | | 3 | Instructor3 |
| 4 | Sport4 | | | | |
+----------+------------+----------+------------+---------------+-----------------+

我试过了

SELECT * FROM sports, venues, instructors

但是有很多重复。

编辑:这 3 个表之间没有任何关联。

最佳答案

虽然我看到在一个查询中获取所有值的用途有限,但您始终可以使用 UNION ALL 来获取所有值;

SELECT sport_id id,      sport_name name,      'sport' type      FROM sports
UNION ALL
SELECT venue_id id, venue_name name, 'venue' type FROM venues
UNION ALL
SELECT instructor_id id, instructor_name name, 'instructor' type FROM instructors

这将以格式给出输出;

id    name           type
-------------------------------
1 sport1 sport
2 sport2 sport
3 sport3 sport
4 sport4 sport

1 venue1 venue
2 venue2 venue

1 instructor1 instructor
2 instructor2 instructor
3 instructor3 instructor

关于mysql - 从 3 个表中获取所有结果而不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35333957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com