Php 从一个查询插入多个表

Php 从一个查询插入多个表,php,sql,postgresql,postgresql-8.4,Php,Sql,Postgresql,Postgresql 8.4,我正在从查询中检索某些数据的总和。和可以有负值和正值。我想将正值插入一个表,将负值插入另一个表 select查询的结果集如下所示 total | userid ----------------------- 4750.00 | 11 1339.00 | 3607 -681.81 | 3600 我计划将select查询中的详细信息直接插入表中,insert into table(amount,user)选择SUM(..)作为总计,userid

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

select查询的结果集如下所示

total       |   userid
-----------------------
4750.00     |   11
1339.00     |   3607
-681.81     |   3600
我计划将select查询中的详细信息直接插入表中,
insert into table(amount,user)选择SUM(..)作为总计,userid from…
。但我无法在一个查询中找出如何实现这一点


我使用的是
PostgreSQL 8.4.17
在两个独立的
插入中使用
where
语句:

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;
插入正数(金额、用户)
选择SUM(..)作为总计,userid
从…起
总和(..)大于0;
插入底片(数量、用户)
选择SUM(..)作为总计,userid
从…起
总和(..)小于0;

有什么原因不能在两个查询中完成吗?使用两个查询没有问题。但我仍然不知道如何在
INSERT
SELECT
query之间添加
if/else
语句。求和中的等式是复杂的
sum((a*b)/100)-(c/100))
。所以计算两次可能有点重。。。对吧?@NandakumarV。这其实没那么复杂。更大的性能冲击是读取表格两次。如果查询确实需要相当长的运行时间,那么将完整的结果放在一个临时表中,并从中插入。