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 7029 게시물 읽기
No. 7029
마농님.. 죄송한데요.. 다시 도움 요청 드려요...ㅜㅜ
작성자
도와주세요...
작성일
2017-01-31 14:22
조회수
3,141

안녕하세요...

오늘 도와 주셔서 너무 감사 드립니다.

 

그런데 하나 난관이... ㅜㅜ

 

SELECT A.PRD_CD, A.PROC_SEQ,A.PROC_NO, A.MTR_CD,

CONVERT(varchar(50),DATEDIFF(day, '1900-01-01', x)) + ':' + -- Days

CONVERT(varchar(50), x, 8) date_term -- '00:00:00'

FROM FR_MTR A INNER JOIN (SELECT PRD_CD, PROC_SEQ, PROC_NO, MTR_CD,PRD_LOT, (MAX(END_TIME) - MIN(START_TIME)) x FROM FR_MTR WHERE PRD_CD =fff' AND PROC_SEQ <> 0

AND PRD_LOT IN ('A','B','C','D','E')

GROUP BY PRD_CD, PROC_SEQ, PROC_NO, MTR_CD, PRD_LOT) B

ON A.PRD_CD = B.PRD_CD AND A.PROC_SEQ = B.PROC_SEQ AND A.PROC_NO = B.PROC_NO AND A.MTR_CD = B.MTR_CD AND A.PRD_LOT = B.PRD_LOT

 

이런 쿼리에서

 

CONVERT(varchar(50),DATEDIFF(day, '1900-01-01', x)) + ':' + -- Days

CONVERT(varchar(50), x, 8) date_term -- '00:00:00'

 

이 부분을 각 PRD_LOT의 다섯 LOT의 SUM 이후 평균 5LOT 값을 내야 합니다. ㅜㅜ

머리가 아픕니다.

제발 부탁 드립니다.

 

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

글쎄요?
쿼리만 보면 애매한 부분이 많은데요.
같은 테이블을 다시 또 조인한 이유가 있는지?
5가지 종류에 대한 평균을 구하는게 맞는지?
평균을 구하는 그룹 기준이 앞의 4개 컬럼 기준인 건인지?

마농(manon94)님이 2017-01-31 15:15에 작성한 댓글입니다.
이 댓글은 2017-01-31 15:19에 마지막으로 수정되었습니다.

마농님.. 안녕하세요...

 

같은 테이블 조인은 필요없는 부분입니다 .ㅜㅜ

 

그리고.. 5섯 가지 종류에 대해 평균을 구하는 게 맞습니다.

평균을 구하는 그룹도 앞의 4개 컬럼 기준 맞습니다.

개발 초보자라..이래 저래 힘듭니다. ㅜㅜ

부탁 드리겠습니다. 죄송합니다. ㅜㅜ

도와주세요..님이 2017-01-31 16:45에 작성한 댓글입니다. Edit

SELECT prd_cd, proc_seq, proc_no, mtr_cd
     , CONCAT( DATEDIFF(day, '1900-01-01', x)
             , ':'
             , CONVERT(varchar, x,  8)
             ) date_term
  FROM (SELECT prd_cd, proc_seq, proc_no, mtr_cd
             , DATEADD(second, AVG(x), '1900-01-01') x
          FROM (SELECT prd_cd, proc_seq, proc_no, mtr_cd, prd_lot
                     , DATEDIFF(second, MIN(start_time), MAX(end_time)) x
                  FROM fr_mtr
                 WHERE prd_cd = 'fff'
                   AND proc_seq <> 0
                   AND prd_lot IN ('A','B','C','D','E')
                 GROUP BY prd_cd, proc_seq, proc_no, mtr_cd, prd_lot
                ) a
         GROUP BY prd_cd, proc_seq, proc_no, mtr_cd
        ) a
;

마농(manon94)님이 2017-01-31 16:51에 작성한 댓글입니다.

마농님....

 

정말 감사합니다. 막힌 부분 다 해결 됬습니다.

고급 정보 공유해 주셔서 진심으로 감사합니다. ^^

완전 짱이십니다. ^^...

열심히 하겠습니다. 수고하세요.

도와주세요...님이 2017-01-31 17:18에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7032초보입니다. 프로시저 생성은 되는데 웹에서 실행하면 오류가 납니다. [1]
최종철
2017-02-09
2842
7031확장저장프로시저에 관한 질문입니다.
코우지
2017-02-09
2806
7030마농님.. 죄송하지만. 질문 하나 더 있어요..ㅜㅜ [8]
도와주세요..
2017-02-01
3112
7029마농님.. 죄송한데요.. 다시 도움 요청 드려요...ㅜㅜ [4]
도와주세요...
2017-01-31
3141
7028실시간 현재고를 나타내는 테이블같은 db 설계시 궁금한점이 있습니다. [1]
안녕하세요
2017-01-31
3572
7027sql 시간 차이 계산 [2]
도와주세요..
2017-01-31
3216
7026MSSQL UPDATE시 오류..??
김상욱
2017-01-24
3169
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다