如何使用insert查询,其中一个值是子查询的结果

时间:2015-01-08 12:39:59

标签: php mysql

我有两个表,例如table1和table2。下面显示了以下示例字段:

table1:id,amount
table2:id,total_amount

我想使用insert查询向table2插入一个值。但问题是我希望我的insert查询的一个值是insert语句中子查询的结果。例如:

INSERT INTO table2(id, total_amount) VALUES(111, (SELECT SUM(amount) from table1 WHERE id=1));

我知道上面的查询是错误的。如何进行能够插入table2的查询 其中一个要插入table2的值是我的table1的结果查询,如上所示?

任何人都可以帮我吗?感谢

3 个答案:

答案 0 :(得分:2)

INSERT INTO table2(id, total_amount) 
SELECT 111, SUM(amount) from table1 WHERE id=1

答案 1 :(得分:0)

尝试类似:

 INSERT INTO table2(SELECT 111, SUM(amount) 
                    FROM table1 WHERE id=1);

答案 2 :(得分:0)

试试这个

 $sql=mysql_fetch_assoc(mysql_query("SELECT SUM(amount) as tot from table1 WHERE id=1")
 INSERT INTO table2(id, total_amount) VALUES(111,$sql['tot']);