안녕하세요.. 마농님, 도움 진심을 감사 드립니다.
원본 sql 및 데이터는 하기와 같습니다.
select pid_info, parameter, con_name, avg(value) as avg_value from td_pid
where pid_info = 'PID4a' and week = 2 and parameter ='Cu/(In+Ga) Ratio'
group by pid_info, parameter,con_name
order by con_name
select pid_info, parameter, con_name, avg(value) as avg_value from td_pid
where pid_info = 'PID8' and week = 2 and parameter ='InS+NaCl mass [μg/cm2]'
group by pid_info, parameter,con_name
pid parameter con_name avg_value
PID4a Cu/(In+Ga) Ratio 002D-2C136-6T58-8bC12-10P316 0.9079057142
PID4a Cu/(In+Ga) Ratio 002D-6T57-6AS30-8bC12 0.9079057142
PID4a Cu/(In+Ga) Ratio 002D-6T57-8bC12 0.9079057142
PID4a Cu/(In+Ga) Ratio 002D-6T58-6AS30-8bC12 0.9079057142
PID4a Cu/(In+Ga) Ratio 002D-6T58-6AS30-8bC12-6PA23 0.9079057142
PID4a Cu/(In+Ga) Ratio 002D-6T58-8aAQ60-8bC12 0.9079057142
pid parameter con_name avg_value
PID8 InS+NaCl mass [μg/cm2] 002D-2C136-6T58-8bC12-10P316 6.9456250000
PID8 InS+NaCl mass [μg/cm2] 002D-2C136-6T58-8bC12-10PⅢ16 6.9456250000
PID8 InS+NaCl mass [μg/cm2] 002D-6T57-6AS30-8bC12 6.9456250000
PID8 InS+NaCl mass [μg/cm2] 002D-6T57-8bC12 6.9456250000
PID8 InS+NaCl mass [μg/cm2] 002D-6T58-6AS30-8bC12 6.9456250000
PID8 InS+NaCl mass [μg/cm2] 002D-6T58-6AS30-8bC12-6PA23 6.9456250000
PID8 InS+NaCl mass [μg/cm2] 002D-6T58-8aAQ60-8bC12 6.6387500000
PID8 InS+NaCl mass [μg/cm2] 002P-6T57-8bC12 6.9456250000
key 는 pid+parameter+con_name 입니다.
밑의 sql 조건에 con_name 이 위의 sql 조건 보다 많습니다. 이런 케이스는 위아래가 조건에 따라 바뀝니다.
이럴 경우 con_name 이 적은 쪽의 집합을 기준으로 적은쪽에 없는 con_name 을 많은 쪽 집합에서 con_name 만 가져 와서
집합을 만들고 값은 그냥 0으로 처리 해야 합니다.
따라서 결과는
parameter con_name avg_value
PID4a Cu/(In+Ga) Ratio 002D-2C136-6T58-8bC12-10P316 0.9079057142
PID4a Cu/(In_Ga) Ratio 밑의 sql 집합에 없는 con_name 값은 그냥 0
PID4a Cu/(In+Ga) Ratio 002D-6T57-6AS30-8bC12 0.9079057142
PID4a Cu/(In+Ga) Ratio 002D-6T57-8bC12 0.9079057142
PID4a Cu/(In+Ga) Ratio 002D-6T58-6AS30-8bC12 0.9079057142
PID4a Cu/(In+Ga) Ratio 002D-6T58-6AS30-8bC12-6PA23 0.9079057142
.
.
이런식이 되어야 합니다. 이 부분 혹 다시 봐 주실 수 없으실까요?
감사합니다.
|