在两个表上使用联合

Posted

技术标签:

【中文标题】在两个表上使用联合【英文标题】:Using union on two tables 【发布时间】:2018-08-29 22:02:11 【问题描述】:

当我尝试加入两个表时它给了我错误。两个表的列数相同

这是错误

failed to find conversion function from unknown to text  

select * from table1
union
select * from table 2;

【问题讨论】:

每个表的列类型也需要相同。它告诉你有一个 unknown 列类型,它试图与 text 列类型联合。 【参考方案1】:

当你使用UNION时,列需要相同的类型作为相同的位置。

使用明确的列名代替*,因为我们无法预测table1table2之后的列数不同。

select col1,col2...
from table1
union
select col1,col2...
from table2;

【讨论】:

以上是关于在两个表上使用联合的主要内容,如果未能解决你的问题,请参考以下文章

oracle 表一的A、B两个字段是联合主键,表二使用表一的A字段作为外键,这样可以吗?

两个表上的并集,其中一个带有 where 子句

使用两个表上的关系获取最大值

两个不同表上的 group_concat 在第二个表上给出重复的结果

如何在两个大型 postgreSQL 表上批量运行外连接?

如何在连接表上的两个外键之间强制实施数据库约束?