是查看还是加入我需要的这个 mysql 练习?
is it view or join what I need for this mysql exersice
我遇到了使用 mysql 和 mphpmyadmin 的小任务,我需要将 2 table 条记录合并为一个 table,一个接一个……但也想要结果表明 table 来自,像这样:
table1: table 姓名: "names1"
id code name number
1 XA Mike 101
2 DA Stel 344
3 MB Dan 434
4 TR Tina 321
table2: table 姓名: "names2"
id code name number
1 DC Man 121
2 QZ Dan 989
3 VN Was 912
我需要的是将它们组合成一个 table、select,查看...在我的脚本中使用的任何语句...像这样:
tablename code name number
names1 XA Mike 101
names1 DA Stel 344
names1 MB Dan 434
names1 TR Tina 321
names2 DC Man 121
names2 QZ Dan 989
names2 VN Was 912
尝试加入和联合,失败,你建议创建视图吗?以及您建议如何完成?
select code, name, number, 'names1' as tablename from table1
union
select code, name, number, 'names2' as tablename from table2;
还要研究 union 与 union all
之间的区别,因为它与欺骗有关(通常对于您的其他类似查询的联合)
如果你想将它们组合成一个结果集,那么你可以使用union all
(正如@Satty 所建议的)。
但是,如果您希望将它们合二为一 table,则可以使用 create table as
:
create table names as
select code, name, number from names1 union all
select code, name, number from names2;
您也可以使用相同的逻辑创建视图,但问题明确指出 "one table"。
如果您想为此创建一个视图:
CREATE VIEW names3 AS
(SELECT code,
name,
number,
'names1' as tablename
from names1)
UNION
(select code,
name,
number,
'names2' as tablename
from names2);
Here 是 fiddle.
我遇到了使用 mysql 和 mphpmyadmin 的小任务,我需要将 2 table 条记录合并为一个 table,一个接一个……但也想要结果表明 table 来自,像这样:
table1: table 姓名: "names1"
id code name number
1 XA Mike 101
2 DA Stel 344
3 MB Dan 434
4 TR Tina 321
table2: table 姓名: "names2"
id code name number
1 DC Man 121
2 QZ Dan 989
3 VN Was 912
我需要的是将它们组合成一个 table、select,查看...在我的脚本中使用的任何语句...像这样:
tablename code name number
names1 XA Mike 101
names1 DA Stel 344
names1 MB Dan 434
names1 TR Tina 321
names2 DC Man 121
names2 QZ Dan 989
names2 VN Was 912
尝试加入和联合,失败,你建议创建视图吗?以及您建议如何完成?
select code, name, number, 'names1' as tablename from table1
union
select code, name, number, 'names2' as tablename from table2;
还要研究 union 与 union all
之间的区别,因为它与欺骗有关(通常对于您的其他类似查询的联合)
如果你想将它们组合成一个结果集,那么你可以使用union all
(正如@Satty 所建议的)。
但是,如果您希望将它们合二为一 table,则可以使用 create table as
:
create table names as
select code, name, number from names1 union all
select code, name, number from names2;
您也可以使用相同的逻辑创建视图,但问题明确指出 "one table"。
如果您想为此创建一个视图:
CREATE VIEW names3 AS
(SELECT code,
name,
number,
'names1' as tablename
from names1)
UNION
(select code,
name,
number,
'names2' as tablename
from names2);
Here 是 fiddle.