sql - 添加新列到现有表中

标签 sql postgresql

下面给出的是我要根据 productid

计算的表格
  +-----------+-----------+----------+
 'productid   |     free  |  qty     |
 '------------+-----------+----------+
 '     2372   |      0    |    100   |
 '------------+-----------+----------+
 '     2311   |      0    |    100   |
 '------------+-----------+----------+
 '     2311   |      1    |     10   |
 '------------------------------------

我需要得到以下结果

  +----------- +-----------+
 'productid   |     toqty  |  
 '------------+-----------+
 '     2372   |     100    |    
 '------------+-----------+
 '     2311   |     110    |     
 '-------------------------+

我试过的是。

select sum(qty) as totQty 
from tmpprch 
where productid=(select productid from tmpprch) 

并卡在这里(错误:用作表达式的子查询返回多于一行)

数据库:PostgreSQL

最佳答案

如果我理解正确,那么您的查询过于复杂了。这是一个简单的聚合:

select productid, sum(qty) as totQty
from tmpprch
group by productid;

您从哪里得到查询形式的想法?

关于sql - 添加新列到现有表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23629735/

相关文章:

django - 在 Django 中指定 PostgreSQL 模式

SQL强制插入虚拟数据

Erlang 中的 Postgresql 连接池

sql - 尽 pipe 查询中出现 ORA-904,UPDATE 工作正常(但非常非常慢)

php - 根据日期查询计算 SQL 行数

windows - Postgresql:无法建立连接,因为目标机器主动拒绝它

sql - 在列中具有相同值的表中查找第一和第二高值之间的差异

java - 如何将在 JDBC 中执行的 SQL 查询的结果分配给 java 变量?

mysql - 需要 MySQL 查询从主表获取订单,然后获取与其关联的单个项目的计数以及来自另一个表的总行数

php - 更新新记录时恢复以前更新的记录 MySQL PHP