Sql 统合
我有两张桌子: 表1Sql 统合,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 我想运行一个查询以获得唯一的值,并为每一行获取存储在最后一个字段中的值的
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";