database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 7202 게시물 읽기
No. 7202
마농님 글 감사 드립니다. 한번 더 혹시 봐 주실 수 있나요?
작성자
도와주세요ㅜㅜ
작성일
2020-01-17 09:58
조회수
489

 안녕하세요.. 마농님, 도움 진심을 감사 드립니다. 

원본 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

 

.

.

이런식이 되어야 합니다.  이 부분 혹 다시 봐 주실 수 없으실까요?

감사합니다. 

 

 

이 글에 대한 댓글이 총 2건 있습니다.

SELECT 'PID4a'            pid_info
     , 'Cu/(In+Ga) Ratio' parameter
     , con_name
     , ISNULL(AVG(CASE pid_info WHEN 'PID4a' THEN value END), 0) avg_value
  FROM td_pid
 WHERE ( (pid_info = 'PID4a' AND parameter = 'Cu/(In+Ga) Ratio'       ) OR
         (pid_info = 'PID8'  AND parameter = 'InS+NaCl mass [μg/cm2]') )
   AND week = 2
 GROUP BY con_name
 ORDER BY con_name
;

마농(manon94)님이 2020-01-17 14:36에 작성한 댓글입니다.
이 댓글은 2020-01-17 14:37에 마지막으로 수정되었습니다.

 마농님, 

 

정말 감사 드립니다. ㅋㅋㅋㅋ

완전 대박입니다. 소중한 정보 공유 진심으로 감사 드립니다. 

고생하세요.

도와주세요ㅜㅜ님이 2020-01-17 14:38에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7205unpivot 관련 문의 [4]
초보초보
2020-02-12
386
7204rollup관련해서 도와주세요 ㅜㅜ [3]
JJ
2020-02-10
409
7203SQL 문의 .....ㅜㅜ [2]
도와주세요ㅜㅜ
2020-02-04
411
7202마농님 글 감사 드립니다. 한번 더 혹시 봐 주실 수 있나요? [2]
도와주세요ㅜㅜ
2020-01-17
489
7201SQL 문의..... [5]
도와주세요ㅜㅜ
2020-01-16
471
7200GROUP으로 묶어서 가장낮은것만 출력하고 싶어요 [3]
김우성
2020-01-13
423
7199소숫점 자리기 함수 문의 [1]
한번 더 도와주세요ㅜㅜ
2020-01-09
405
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.077초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다