相关文章推荐
英勇无比的大蒜  ·  Azure Functions C# ...·  2 年前    · 
很酷的大蒜  ·  android - Why JNI ...·  2 年前    · 

邏輯是aaa_master.id = aaa_detail.master_record_id

而每一組相同的 aaa_detail.master_record_id 所含的 vital_type_id 都只會有一次

原始資料表aaa_detail內是多列組合,我想整合成一列如下圖DEMO結果

隨文附上兩個範例資料表,跪求先進踴躍參與討論或不吝解答

範例資料表

試看看..
SELECT ID, MEASURE_TIME
,MAX(CASE WHEN B.VITAL_TYPE_ID = '0001' THEN B.VALUE ELSE NULL END) "0001"
,MAX(CASE WHEN B.VITAL_TYPE_ID = '0002' THEN B.VALUE ELSE NULL END) "0002"
.....
FROM AAA_MASTER A
JOIN AAA_DETAIL B
ON A.id = B.master_record_id
GROUP BY ID, MEASURE_TIME

SELECT *
FROM (
	SELECT a.measure_time,B.master_record_id,B.[value],b.sugar_period,b.vital_type_id
	FROM AAA_MASTER A
	JOIN AAA_DETAIL B ON A.id = B.master_record_id
PIVOT(
	SUM(t.[value]) FOR t.vital_type_id IN ([0001],[0002]....)

pivot

Note : PIVOT 中間我使用SUM聚集函式 原因是可能同一天 同vital_type_id有兩筆value 要把他們加總