Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.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
Sql 统合_Sql_Postgresql - Fatal编程技术网

Sql 统合

Sql 统合,sql,postgresql,Sql,Postgresql,我有两张桌子: 表1 mmsi type l w flag value 123 456 A B C 37 236 567 X Y Z 28 表2 mmsi type l w flag value 123 456 A B C 30 234 567 X Y Z 20 我想运行一个查询以获得唯一的值,并为每一行获取存储在最后一个字段中的值的

我有两张桌子:

表1

mmsi   type   l   w   flag   value
123    456    A   B   C      37
236    567    X   Y   Z      28
表2

mmsi   type   l   w   flag   value
123    456    A   B   C      30
234    567    X   Y   Z      20
我想运行一个查询以获得唯一的值,并为每一行获取存储在最后一个字段中的值的总和:

决赛

mmsi   type   l   w   flag   value
123    456    A   B   C      67
234    567    X   Y   Z      20
236    567    X   Y   Z      28
我怎么做?我正在和所有人一起努力

SELECT "mmsi", "type", "l", "w", "flag", "value", SUM ("value")
FROM (SELECT "mmsi", "type", "l", "w", "flag", "value" FROM "table 1" UNION ALL
SELECT "mmsi", "type", "l", "w", "flag", "value" FROM "table 2") as def
GROUP BY "mmsi", "type", "l", "w", "flag", "value"
但这给了我以下错误的结果:

mmsi   type   l   w   flag   value  sum
123    456    A   B   C      37     37
123    456    A   B   C      30     30
234    567    X   Y   Z      20     20
236    567    X   Y   Z      28     28

谢谢

您需要从
选择
分组依据中删除

SELECT "mmsi", "type", "l", "w", "flag", SUM("value")
FROM (SELECT "mmsi", "type", "l", "w", "flag", "value" FROM "table 1" 
      UNION ALL
      SELECT "mmsi", "type", "l", "w", "flag", "value" FROM "table 2"
     ) as def
GROUP BY "mmsi", "type", "l", "w", "flag";

您需要从
选择
分组依据中删除

SELECT "mmsi", "type", "l", "w", "flag", SUM("value")
FROM (SELECT "mmsi", "type", "l", "w", "flag", "value" FROM "table 1" 
      UNION ALL
      SELECT "mmsi", "type", "l", "w", "flag", "value" FROM "table 2"
     ) as def
GROUP BY "mmsi", "type", "l", "w", "flag";