【发布时间】:2016-11-05 23:07:23
【问题描述】:
我的product 表如下所示:
id_product | product_count | product_name
1 | 10 | name1
2 | 20 | name2
3 | 20 | name3
4 | 52 | name4
5 | 30 | name5
6 | 50 | name6
我想做一个查询,结果是:
product_group_name | product_group_name | product_group_name |...more groups
30(sum) | 72(sum) | 50(sum) |...more values
其中组将是 id_product,例如 (1,2 OR 3,4 OR 1,4,5),组名将是别名。
这是制作单列的sql代码:
SELECT
cast(SUM(product.product_count) as float) as group_name
FROM
product
WHERE
product.id_product in (608,913,528,529,920,406,407,408,912,919,918,917,924,926,925)
这个查询的结果是:
| group_name |
| 200 |
是否可以添加更多带有组名的列?重要的是它们是列,而不是行。
【问题讨论】:
-
如果我明白了,是的,你可以..在列后使用 coma(','),..
SELECT cast(SUM( product.product_count) as float) as group_name,sum(column2) as group_name2 -
我认为你必须做以下事情 1).与 product_group 表 2) 进行连接。使用 group_id 进行“分组”并执行 sum() 操作 3)。在上述步骤中获得结果后,您可以使用此处描述的任何方法转置结果 - stackoverflow.com/questions/13372276/…
标签: sql sql-server subquery conditional-statements