从一个查询插入多个表

时间:2013-06-10 10:49:23

标签: php sql postgresql postgresql-8.4

我正从查询中检索某些数据的SUMSUM可以包含负值和正值。我想将正值插入一个表,将负值插入另一个表。

选择查询的结果集如下

total       |   userid
-----------------------
4750.00     |   11
1339.00     |   3607
-681.81     |   3600

我打算将select查询中的详细信息直接插入表INSERT into table (amount,user) SELECT SUM(..) AS total,userid FROM...。但我无法弄清楚如何在一个查询中完成它。

我正在使用PostgreSQL 8.4.17

1 个答案:

答案 0 :(得分:2)

在两个单独的where中使用inserts语句:

INSERT into positives (amount,user)
    SELECT SUM(..) AS total, userid
    FROM...
    having sum(..) > 0;

INSERT into negatives (amount,user)
    SELECT SUM(..) AS total, userid
    FROM...
    having sum(..) < 0;