mysql - SQL 从 3 个具有相同列名的表中选择

标签 mysql sql

我有三个具有以下结构的表:

sequence
cli
datetime
company

表是orders_broadband orders_linesorders_porting

我想显示同一结果集中所有三个表的结果。

我尝试运行查询:

SELECT orders_broadband.*, orders_lines.*, orders_porting.* from orders_broadband, orders_lines, orders_porting

但我认为我的查询不正确

最佳答案

你可以这样做:

select sequence, cli, datetime, company from orders_broadband
union all
select sequence, cli, datetime, company from orders_lines
union all
select sequence, cli, datetime, company from orders_porting

这将合并所有 3 个表中的数据。

通过明确添加列名称进行编辑(类似于 xQbert 在评论部分中提到的内容)

显示表名

select sequence, cli, datetime, company, 'Tablename1' as tbl from orders_broadband where status = 'New' 
UNION ALL 
select sequence, cli, datetime, company, 'Tablename2' as tbl from orders_lines where status = 'New' 
UNION ALL 
select sequence, cli, datetime, company, 'Tablename3' as tbl from orders_porting where status = 'New'

将“Tablename1”和其他内容更改为您认为合适的值。

如果我想从orders_broadband 添加额外的列怎么办?

select '' as telephone_number, sequence, cli, datetime, company, 'Tablename1' as tbl from orders_broadband where status = 'New' 
UNION ALL 
select '' as telephone_number, sequence, cli, datetime, company, 'Tablename2' as tbl from orders_lines where status = 'New' 
UNION ALL 
select telephone_number, sequence, cli, datetime, company, 'Tablename3' as tbl from orders_porting where status = 'New'

关于mysql - SQL 从 3 个具有相同列名的表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32011611/

相关文章:

php - 如何按条件过滤内爆结果?

mysql - 为什么 MongoDB 和 MySQL 比 grep 慢?

sql - 使用一张表和分开多表各有优缺点吗?

sql - 如何从没有键的表中检索非重复记录?

SQL Server 查询返回同一行两次

mysql - SQL 按范围内的用户数分组

mysql - 在 MySQL 中不区分大小写地排序字符串

php MySQL语法错误

mysql - 列依赖于其他列值

mysql - MySQL中如何根据其他列的总和创建一个表?