초보 쿼리 문의..

콩만듀 2017.10.12 16:21 Views : 5005



안녕하세요. sql초보 중의 초보 입니다.

기본지식 없이 실무를 하고 있는데요..

경영자 정보시스템에 들어가는 테이블들을 DateMart에 만들고 있습니다.

아는게 적어 다소 무식하게 작성 중이니 양해부탁드립니다.

isnull을 넣은것은 지금 데이터가 다 들어가 있지 않아서 확인차원에서 넣었습니다.


질문입니다.

1. 아래에 빨간 쿼리문들이 문법상 정상인건지?

2. 문제가 없을 경우 조건을 기준일 이전으로 하고 싶은데 어떻게 조건을 줘야하는지?

- 예를들면 10/10을 기준일로 조회할 경우 10/9까지의 데이터 합계만 나오도록..

- WHERE절에 dDate >= GETDATE() 하면 되는건가요?

- 가르침 주십시요 꾸벅 _ _


SELECT
  C.PrjNo AS PrjNo,
  GETDATE() AS dDate,
  (isnull(A.ExecTotAmt,0) + isnull(B.ExecTotAmt,0)) AS PlnMcost,
  A.ExecTotAmt AS PlnExMCost,
  B.ExecTotAmt AS PlnInECost,
  (D.prgrss * (isnull(A.ExecTotAmt,0)) / 100) + (D.prgrss * (isnull(B.ExecTotAmt,0)) / 100) AS ByDftAmt,
  D.prgrss * (isnull(A.ExecTotAmt,0)) / 100 AS ByDftInAmt,
  D.prgrss * (isnull(B.ExecTotAmt,0)) / 100 AS ByDftExAmt,
  (A.ExecTotAmt - (D.prgrss * (isnull(A.ExecTotAmt,0)))) + (B.ExecTotAmt - (D.prgrss * (isnull(B.ExecTotAmt,0)))) AS UnByDftAmt,
  A.ExecTotAmt - (D.prgrss * (isnull(A.ExecTotAmt,0))) AS UnByDftInAmt,
  B.ExecTotAmt - (D.prgrss * (isnull(B.ExecTotAmt,0))) AS UnByDftExAmt,
  C.LoadDT AS LoadDT


FROM tst70dd C
  join tst09m E on C.prjno = E.prjno
  join TPT04DC D on D.prjno = C.prjno


  join (select prjno,SUM(ISNULL(ExecTotAmt,0))
  AS exectotamt from tst70dd where Gugn = '01' and ItemGubn = '01' group by PrjNo) A on C.PRJNO = A.PRJNO 
  
  join (select PRJNO,SUM(ISNULL(ExecTotAmt,0))
  AS exectotamt from tst70dd where Gugn = '01' and ItemGubn = '02' group by PrjNo) B on C.PRJNO = B.PRJNO

 
WHERE
  E.PjtMgrYN = 'Y'
 
 GROUP BY C.prjno, C.LoadDt, A.exectotamt, B.exectotamt, D.prgrss

No. Subject Author Date Views
Notice [IT재직자] 개강임박!! 올해 마지막 무료 및 국비지원 교육 (JAVA, 리눅스 기초/고급 , CCNA, CCIE 등) 코난(김대우) 2022.12.02 86
Notice 2022년 11월 SQLER의 강좌 업데이트 리스트 코난(김대우) 2022.12.01 23
Notice 2022 공개SW 페스티벌 - Open Up 코난(김대우) 2022.12.01 15
10053 sql2012에 호환성2005인 DB를 sql2005에 올릴 수 있나요? [2] 조굴 2017.11.17 7476
10052 DB 생성할때 자동 증가 단위는 1MB 로 해야하나요 아님 10%로 하나요? [1] mjstudio 2017.11.16 11431
10051 MSSQL 테이블 용량과 실제 DB 용량과는 차이가 많이 나나요? [1] mjstudio 2017.11.16 12478
10050 function결과문자열을 select조건절로 쓰고싶은데요. [1] 니카 2017.11.15 10537
10049 복사한 데이터베이스 일괄 명칭 변경 문의 [2] 쿠아앙 2017.11.15 11965
10048 데이터베이스 권한문제 [1] 쿠아앙 2017.11.15 8494
10047 쿼리 where 절 case when 사용질문 [1] 안돼요 2017.11.14 10051
10046 이구조로 피봇 가능한가요??? [1] 돌브레인 2017.11.14 10327
10045 서버PC 결정장애 문의 드립니다. 희망나라 2017.11.14 9052
10044 쿼리문의? [8] 문상연 2017.11.14 6393
10043 저장프로시저 문의 [4] JoWonGi 2017.11.13 8925
10042 삭제해버린 데이터베이스 복구를 하고 싶습니다..ㅠㅠ [2] 스터프 2017.11.13 7963
10041 mssql 쿼리 질문드립니다! [8] 파란약 2017.11.13 7501
10040 시스템 데이터베이스 복구 문의드립니다. [6] 톡히슈터 2017.11.13 10685
10039 ROW의 없는 숫자 추출하기 [2] reJanus 2017.11.10 8844
10038 데이터 동기화 프로그램 질문드려요 [7] 베로 2017.11.10 8685
10037 mssql 쿼리 질문을 좀 드립니다. [1] wondo 2017.11.08 7046
10036 TOP 또는 FOR XML을 함께 지정하지 않는 한 뷰, 인라인 함수, 파생 테이블, 하위 쿼리 및 공통 테이블 식에서 ORDER BY 절을 사용할 수 없습니다. [1] mingky 2017.11.08 8923
10035 날짜 데이터 행렬 변환 떡재 2017.11.08 7054
10034 DELETE문 실행시 형변환 오류 발생 [4] 고구망 2017.11.06 8806





XE Login

테스트 팝업
Close