sql - 邮政系统 |如何将两个或多个表合并为一个表

标签 sql postgresql postgis postgresql-9.3 postgresql-9.4

我有很多数据被分成两个或多个表。然后如何从所有表中获取数据。

第一个表是点表,分三部分

first table = ab_p1_point
second table = ab_p2_point
third table = ab_p3_point

另一个表是折线表,又分为三部分

first table = bc_p1_line
second table = bc_p2_line
third table = bc_p3_line

如何将点表的所有部分组合成单点表,将线表的所有部分组合成单线表,而不是在两个表之间进行运算。

最佳答案

假设所有三个表都具有相同的结构,您可能会使用union all:

select * from (
    select f1, f2, f3 from ab_p1_point
    union all
    select f1, f2, f3 from ab_p2_point
    union all
    select f1, f2, f3 from ab_p3_point
) t
where f1 = 'abc'

您可以通过将查询放入 View 中来使其更易于使用。

但是为什么要在多个表中拆分行?

关于sql - 邮政系统 |如何将两个或多个表合并为一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49725824/

相关文章:

python - 测试 postgres 数据库 python

sql - 将 Postgis 几何格式转换为 WKT

postgresql - 如何使用 PostgreSQL 中的字段创建多边形?

sql - 将多行合并为一个

sql - 约束后uc有什么用?

java - 模式更新后 jOOQ 生成类的运行时验证?

ruby-on-rails - 将我的应用程序部署到 Heroku 时出现 500 错误

mysql - 如何使用sql语句查找每个类别的产品数量

performance - 为什么 PostgreSQL Text-Search GiST 索引比 GIN 索引慢这么多?

sql - Postgres - 如何在插入时自动调用 ST_SetSRID(ST_MakePoint(lng, lat), 4326)?