合并两行替换pivot中的空值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合并两行替换pivot中的空值相关的知识,希望对你有一定的参考价值。
这是我的sql
SELECT a."incomeNumber"
, (CASE WHEN b."traitName" = 'sometrait1' THEN b."traitValue" END) AS "numberResult"
, (CASE WHEN b."traitName" = 'sometrait2' THEN b."traitValue" END) AS "dateResult"
FROM "request" a
JOIN "traits" b ON a.id=b."requestId"
WHERE b."traitName" = 'sometrait1'
OR b."traitName" = 'sometrait2'
GROUP BY a."incomeNumber"
, b."traitName"
, b."traitValue"
但我希望每个请求获得一行99 1 01.03.2018
,我无法解决如何处理特征表,因为sometrait1
和sometrait2
是两个不同的行。我正在使用Postgres 9.6,如果可能的话,我希望这个解决方案是普通的sql。
答案
好的,我解决了我的问题。我只需要从GROUP BY语句中删除traitName
和traitValue
,然后将MAX添加到CASE THEN。
以上是关于合并两行替换pivot中的空值的主要内容,如果未能解决你的问题,请参考以下文章