Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 在Postgres中联接并合并表以获得特定列中的公共行_Postgresql_Join_Union - Fatal编程技术网

Postgresql 在Postgres中联接并合并表以获得特定列中的公共行

Postgresql 在Postgres中联接并合并表以获得特定列中的公共行,postgresql,join,union,Postgresql,Join,Union,我在Postgres数据库中有几个表。我已经加入并合并了这些表。但是,我希望特定列中的公共值一起出现在最终的表中(最后,我希望对表执行groupby和最大值计算) 测试表的架构如下所示: 架构(PostgreSQL v11) 我对表执行了连接、并集和操作,以获得所需的列 查询#1 SELECT table1.id, table1.seq, table2.score FROM table1 INNER JOIN table2 ON table1.id = table2.id UNION

我在Postgres数据库中有几个表。我已经加入并合并了这些表。但是,我希望特定列中的公共值一起出现在最终的表中(最后,我希望对表执行groupby和最大值计算)

测试表的架构如下所示:

架构(PostgreSQL v11)

我对表执行了连接、并集和操作,以获得所需的列

查询#1

SELECT table1.id, table1.seq, table2.score
    FROM table1 INNER JOIN table2 ON table1.id = table2.id

UNION 

SELECT table3.id, table3.seq, table4.score
    FROM table3 INNER JOIN table4 ON table3.id = table4.id

;
输出如下所示:

| id | seq |得分|
| ----- | ------ | ----- |
|UA502 | qrst | 8.2|
|UA502 | abcdef | 2.2|
|UA504 | yzab | 8.8|
|UA503 | uvwx | 8.6|
|UA504 | lmnop | 2.8|
|UA503 | ghijk | 2.6|
但是,所需的输出应为:

| id | seq |得分|
| ----- | ------ | ----- |
|UA502 | qrst | 8.2|
|UA502 | abcdef | 2.2|
|UA504 | yzab | 8.8|
|UA504 | lmnop | 2.8|
|UA503 | uvwx | 8.6|
|UA503 | ghijk | 2.6|


我应该如何修改查询以获得所需的输出?

也许我遗漏了一些东西,但是
按id排序
不会这样做吗?哦,是的!!我错过了:)谢谢你的指点
SELECT table1.id, table1.seq, table2.score
    FROM table1 INNER JOIN table2 ON table1.id = table2.id

UNION 

SELECT table3.id, table3.seq, table4.score
    FROM table3 INNER JOIN table4 ON table3.id = table4.id

;