我已经在该网站上搜索了所有可能的解决方案,但仍然找不到我的Pivot问题的答案。
我有一张包含以下数据的表。
Portfolio | Date | TotalLoans | ActiveLoans | TotalBalance
--------------------------------------------------------------------
P1 | 2015-12-31 | 1,000 | 900 | 100,000.00
P1 | 2015-11-30 | 1,100 | 800 | 100,100.00
P1 | 2015-10-31 | 1,200 | 700 | 100,200.00
我正在尝试使用以下输出创建枢轴(仅在Portfolio = P1的情况下)
Field | 2015-12-31 | 2015-11-30 | 2015-10-31 |
-----------------------------------------------------
TotalLoans | 1,000 | 1,100 | 1,200 |
ActiveLoans | 900 | 800 | 700 |
TotalBalance | 100,000 | 100,100 | 100,200 |
理想情况下,我正在寻找动态枢纽,但是静态查询也可以,并且我可以尝试动态查询。
您需要先到 UNPIVOT
您的桌子。您可以使用以下查询进行操作:
SELECT Portfolio, [Date], Val, ColType
FROM (SELECT Portfolio,
[Date],
TotalLoans,
ActiveLoans,
TotalBalance
FROM mytable
WHERE Portfolio = 'P1') AS srcUnpivot
UNPIVOT (
Val FOR ColType IN (TotalLoans, ActiveLoans, TotalBalance)) AS unpvt
输出:
Portfolio Date Val ColType
===============================================
P1 2015-12-31 1000 TotalLoans
P1 2015-12-31 900 ActiveLoans
P1 2015-12-31 100000 TotalBalance
P1 2015-11-30 1100 TotalLoans
P1 2015-11-30 800 ActiveLoans
P1 2015-11-30 100100 TotalBalance
P1 2015-10-31 1200 TotalLoans
P1 2015-10-31 700 ActiveLoans
P1 2015-10-31 100200 TotalBalance
注意: 所有 不可透视的字段都必须是 同一类型 。上面的查询假定所有字段的类型均为 int 。如果不是这种情况,则必须使用CAST
。
使用以上查询,您可以应用PIVOT
:
SELECT Portfolio, ColType, [2015-12-31], [2015-11-30], [2015-10-31]
FROM (
... above query here ...
PIVOT (
MAX(Val) FOR [Date] IN ([2015-12-31], [2015-11-30], [2015-10-31])) AS pvt
编辑:这是对任何感兴趣的人的解决方案。我将Events模型中的Unicode方法更改为以下内容 (django V1.3,python 2.7) 标题令人困惑,我会尽我所能把它弄清楚。我有三个模型,分支、事件和更新: 当通过管理界面添加更新时,我希望相关的_事件字段显示事件模型的标题、分支和更新字段,以便于用户选择正确的相关_事件(而不仅仅是一长串标题)。 添加更新时,我希望如何在下拉或水平相关的
假设我已将以下对象序列化为json字符串: 现在我想反序列化它,但是我想把名称分成两个字段,和。我该怎么做呢? 我希望最终的结果是类似于: 这对Gson有可能吗?
我把这三门课分别放在不同的文件中 我有下面的映射器 这目前仅映射lastName并起作用,我想将Book中的作者字符串映射为 我怎么能这么做?我在MapStruct文档中找不到任何东西。
问题内容: 我正在使用’Lucene.Net’库,并且有以下问题。 不是创建两个单独的QueryParser对象并使用它们来获得两个Hits对象,而是可以使用一个QueryParser对象在两个字段上进行搜索,这样我只有一个Hits对象,它可以为我提供每个文档的总体得分? 问题答案: 有3种方法可以做到这一点。 第一种方法是手动构造查询,这是QueryParser内部的工作。这是执行此操作最强大的
问题内容: 我正在使用最新版本的elasticsearch-php以及最新版本的MongoDB和ElasticSearch。 我需要对可以包含一个或多个值的多个字段进行搜索。例: country_code应为NL,BE或DE,并且类别应包含AA01,BB01,CC02或ZZ11 我以为我会按照以下方式解决它(PHP): 但是结果甚至还不能接近我期望返回的数据。 有时 $ countries 和/或
问题内容: 我想对elasticsearch 进行过滤,但我不知道… 这是我发送给ES _search方法的内容。 但是我总是会收到这个错误: 而且,如果我删除该选项并仅对geo_distance进行过滤,则可以使用…任何帮助都将是极好的。 干杯 问题答案: 我认为您的过滤器写有误。该错误表明过滤器或多或少地在参数方面遇到问题。参见http://www.elasticsearch.org/guid