我是MySQL的新手,所以我真的需要一些我正面临的问题的帮助: 我在同一个数据库中有 7 表,其中有一些来自测试的数据: 7个表有不同的列,但它们都有这些列:
name
。second_name
。status
。
在status
中添加了每个学生的当前状态(已接受或已拒绝),我想使用从7个表中选择name
,second_name
where status = accepted
。
我设法从1张表中显示
SELECT name, second_name FROM test1 WHERE status="accepted";
但我无法弄清楚如何从所有7中显示。 如果有人能给我一个提示,那对我来说将是一个真正的帮助。
答案 0 :(得分:2)
如果您不介意使用多个已接受测试的重复学生姓名,您可以尝试使用UNION ALL
:
(SELECT name, second_name FROM test1 WHERE status='accepted')
UNION ALL
(SELECT name, second_name FROM test2 WHERE status='accepted')
UNION ALL
(SELECT name, second_name FROM test3 WHERE status='accepted')
-- ...and so on
答案 1 :(得分:2)
恕我直言,最好将数据库规范化,使所有名称,第二名和状态都在单独的表中,并且只做选择而不是UNION来提高性能。