如果它总是分为三个阶段,则可以使用条件聚合,如下所示:
SELECT replace(replace(replace(t.name,'Phase A',''),'Phase B',''),'Phace C','') as name,
max(CASE WHEN s.latestValueDesc like '%Phase A' then s.latestValueDesc end) as Phase_A,
max(CASE WHEN s.latestValueDesc like '%Phase B' then s.latestValueDesc end) as Phase_B,
max(CASE WHEN s.latestValueDesc like '%Phase C' then s.latestValueDesc end) as Phase_C
FROM IDReadingLatestValues s
JOIN DataDefinitions t
ON s.dataDefinitionId = t.dataDefinitionId
GROUP BY replace(replace(replace(t.name,'Phase A',''),'Phase B',''),'Phace C','')
我敢肯定有一种更漂亮的方法可以做到这一点,但是它应该可以按照您的期望工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句