我有下面要透视的表,以便第1列中的描述成为新透视图中的列标题。
Nominal Group | GrpID | Description | Value | CustomerID
---------------+-------+-----------------+-------------+-----------
Balance Sheet | 7 | BS description | 56973.10 | 2
Cost of Sales | 4 | COS description | 55950.17 | 2
Sales | 1 | Sales | -178796.18 | 2
Labour Costs | 5 | Wages | 18596.43 | 2
Overheads | 6 | Rent | 47276.48 | 2
我正在使用下面的代码来获得下面的结果集:
select * from trialbalancegrouping
PIVOT (Sum(value)
for nominalgroupname in ([Sales],[Cost of Sales],[Labour Costs],[Overheads])) AS PVTtable
--
GrpID | Description | CustomerID | Sales | Cost of Sales | Labour Costs | Overheads
------+---------------+------------+------------+---------------+--------------+-----------
1 | Sales | 2 | -178796.18 | NULL | NULL | NULL
2 |COS Description| 2 | NULL | 55950.17 | NULL | NULL
3 | Labour | 2 | NULL | NULL | 18596.43 | NULL
4 | Overheads | 2 | NULL | NULL | NULL | 47276.48
理想情况下,我希望每个客户的输出为一行,如下所示:
CustomerID | Sales | Cost of Sales | Labour Costs | Overheads
-----------+------------+----------------+--------------+------------
2 | -178796.18 | 55950.17 | 18596.43 | 47276.48
任何可用的列都将传递给该PIVOT
函数,因此除了聚合的列之外,所有隐含的分组都被隐式分组,因此,由于GrpID
和Description
存在,并且不包含分组,因此,每个组合的一行这些。您需要使用子查询来限制传递给数据透视函数的列:
SELECT pvt.CustomerID,
pvt.Sales,
pvt.[Cost of Sales],
pvt.[Labour Costs],
pvt.[Overheads]
FROM ( SELECT CustomerID, nominalgroupname, Value
FROM trialbalancegrouping
) AS t
PIVOT
( SUM(Value)
FOR nominalgroupname IN
( [Sales],[Cost of Sales],
[Labour Costs],[Overheads]
)
) AS pvt;
问题内容: 我正在努力寻找解决此MySQL问题的方法。我似乎无法理解该怎么做。我有下表。 如果可能的话,我想将问题答案显示为每个结果集的列,如下所示。 任何帮助将非常感激。 谢谢 问题答案: SQLFiddle演示 如果您不清楚问题的数量( 例如Matei Mihai所说的1000个 ),则非常需要动态版本。 SQLFiddle演示 输出值
问题内容: 我想让PostgreSQL将查询结果作为一个JSON数组返回。给定 我想要类似的东西 要么 (实际上,同时了解两者会更有用)。我尝试过一些类似的事情 而且我觉得我很亲近,但真的不在那儿。我是否应该查看9.15以外的其他文档。JSON函数和运算符? 顺便说一下,我不确定我的想法。这是通常的设计决定吗?我的想法是,我当然可以接受上述3个查询中的第一个查询的结果(例如),并在将其提供给客户端
我使用JOOQ查询多对多关系,需要将一个条目的多个结果映射到单个对象中。为此,我使用唯一标识符将结果分组,并从每个分组的结果中提取所需的数据。对于多对多数据,我得到所有可用值,对于正常数据,我只使用第一个条目的数据: 现在,我虽然每个条目可以有多个组,但它不需要有任何组,以下将是一个有效的条目,无需设置任何组: 奇怪的是,我注意到在这种情况下返回一个包含的List,而不是一个空列表。 这是有意的吗
问题内容: 是否可以将此代码转换为Java 8可选单行表达式? 即如果某个对象不为空,我需要调用一个对象方法并返回其结果,否则返回0。 不适合,因为它返回相同类型的对象,但是我需要方法调用的结果或一些默认值。 问题答案: 几种形式: 其中,最后一个不使用Optional(因此不能严格回答您的问题!)更易于阅读,运行时开销也较小,因此应优先使用。 可以说,如果您反转选项,它甚至更简单: …尽管您可能
我有一个数据框,在完成分组后得到,如下所示:- 我想将其转换为:-
我希望PostgreSQL将查询结果作为一个JSON数组返回。给定 我想要类似于