我想将原始数据转换为透视数据,下面是我的代码:
import play.api.libs.json._
object RepositoryMetadata {
implicit val repositoryMetadataWrites = Json.writes[RepositoryMetadata]
}
我无法完成此代码段。
答案 0 :(得分:1)
请忽略max()
并使用select CVID, CID,
max(case when ext_id = 'q_begin' then ans end) as [q_begin],
max(case when ext_id = 'q_end' then ans end) as [q_end]
from #temp
group by CVID, CID;
:
{{1}}
答案 1 :(得分:1)
首先,您不能SUM
个日期,您需要使用MIN
或MAX
。除此之外,您还需要GROUP BY
QUART
列。
因此,您需要使用的代码应为:
SELECT CVID,
CID,
QUART,
MIN(CASE WHEN ext_id = 'q_begin' THEN ans END) [q_begin],
MIN(CASE WHEN ext_id = 'q_end' THEN ans END) [q_end]
FROM #temp
GROUP BY CVID,
CID,
QUART
;
答案 2 :(得分:1)
或者你可以PIVOT
select *
from #temp
pivot (
max(ans)
for ext_id in ([q_begin], [q_end])
) p