首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL从3个具有相同列名的表中选择

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

Stack Overflow用户
提问于 2015-08-14 21:43:24
回答 1查看 58关注 0票数 0

我有三个表,结构如下:

代码语言:javascript
复制
sequence
cli
datetime
company

这些表是orders_broadband orders_linesorders_porting

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

我已尝试运行该查询:

代码语言:javascript
复制
SELECT orders_broadband.*, orders_lines.*, orders_porting.* from orders_broadband, orders_lines, orders_porting

但是我想我的查询不正确

EN

回答 1

Stack Overflow用户

发布于 2015-08-14 21:46:25

您可以这样做:

代码语言:javascript
复制
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个表的数据。

通过添加列名explicity进行编辑(类似于xQbert在注释部分中提到的内容)

显示表名

代码语言:javascript
复制
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中添加额外的列,该怎么办?

代码语言:javascript
复制
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'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32011611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档