데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

 안녕하세요...SQL을 배워야 하는 초보입문자입니다...회사에서 보고서를 만들어야 하는 상황이라 염치불구하고 글을 올립니다.

아래는 출고현황 보고서 쿼리문의 일부인데 다른 보고서들이 기본틀은 비슷하고 테이블명과 필드명들을 조합하여 불

러오고 조인을 걸은걸로 보여집니다.. 하지만 제가 언어쪽 입문을 정식으로 한것이 아니며 이제 배우려는 입장이라 관리자님의 도움을 얻었으면 해서 부탁드립니다..쿼리문은 잘하시는 분들은 금방 이해되시겠지만 저처럼 초급자에게는 너무 어렵네요....사용 쿼리는 select~from~where 그리고 join 구문 사용으로 간단하게 작성되었습니다.

아래 쿼리문에 대한 설명을 간략히는 아니고 저한테 설명을 해주신다 생각하시고 최대한 자세히 부탁드립니다..

1. Alias는 왜 달았는지는 인지했음...가독성 때문이며, 단순 별칭으로 알고 있는데 선언위치가 별도로 지정되

어 있는것은 아닌지??

2. 아래 쿼리문에 보면 "Select~" 후에 "(select~)" 의미??

3. 아래 쿼리문에 대한 설명(가능한 자세히~~) => 초보수준도 안되는 저한테 설명한다고 생각해주시기 바랍니다.

4. 조인된 구문에 대한 설명 등

5. 아래 쿼리문중 두개의 테이블에서 내용을 불러온 것으로 보이는데, trans.ORIGSALESID과  jour.InvoiceDate이하 쿼리문

을 보면 서로 다른 테이블인데 어떻게 구성을 해서 에러가 나지 않는 것인지 .... 

 

## 출고현황 조회 쿼리

select
  trans.ORIGSALESID
  , jour.InvoiceDate
  , jour.DeliveryDate
  , jour.INVOICEACCOUNT
  , (select dir.NAME from CUSTTABLE c
    join DIRPARTYTABLE dir on dir.RECID = c.PARTY
    where c.ACCOUNTNUM = jour.INVOICEACCOUNT and c.DATAAREAID = jour.DATAAREAID
  ) as CustName
  , cTable.CUSTCLASSIFICATIONID
  , trans.ITEMID,
  (select transl.Name from ECORESPRODUCTTRANSLATION transl
    join ECORESPRODUCT pro on pro.RECID = transl.PRODUCT
    join INVENTTABLE inv on inv.PRODUCT = pro.RECID and inv.ITEMID = trans.ITEMID and inv.DATAAREAID = trans.DATAAREAID
    join SystemParameters systemParam on systemParam.KEY_ = 0
    where transl.LANGUAGEID = systemParam.SYSTEMLANGUAGEID
  ) as ItemName
  , sl.SALESQTY
  , trans.QTY
  , trans.SALESUNIT
  , sl.SALESPRICE
  , (trans.QTY * sl.SALESPRICE) as LineAmount
  , sl.CURRENCYCODE
  , -ISNULL(tax.TAXAMOUNT, 0) as TaxAmount
  , trans.TAXGROUP, trans.TAXITEMGROUP
from CustPackingSlipJour jour
join CustPackingSlipTrans trans on trans.PACKINGSLIPID = jour.PACKINGSLIPID and
                               trans.DELIVERYDATE = jour.DELIVERYDATE and
                               trans.DataAreaId = jour.DataAreaId and
                               trans.SalesId = jour.SalesId
left outer join TAXTRANS tax on tax.SOURCERECID = trans.RECID and tax.DATAAREAID = trans.DATAAREAID and tax.SOURCETABLEID = 64 -- CustInvoiceTrans
left outer join CUSTTABLE cTable on cTable.ACCOUNTNUM = jour.INVOICEACCOUNT and cTable.DATAAREAID = jour.DATAAREAID
left outer join SALESLINE sl on sl.SALESID = trans.ORIGSALESID and sl.ITEMID = trans.ITEMID and sl.INVENTTRANSID = trans.INVENTTRANSID and sl.DATAAREAID = trans.DATAAREAID
where trans.DataAreaId = @DataAreaId
  and ((@DateFrom is null) or (@DateFrom is not null and trans.DELIVERYDATE >= @DateFrom))
  and ((@DateTo is null) or (@DateTo is not null and trans.DELIVERYDATE <= @DateTo))
  and ((@Cust is null) or (@Cust is not null and jour.INVOICEACCOUNT like '%' + @Cust + '%'))
  and ((@Item is null) or (@Item is not null and trans.ITEMID like '%' + @Item + '%'))
  and trans.QTY <> 0

No. Subject Author Date Views
» 쿼리문에 대한 질문드립니다.. [2] 이광재_298868 2013.01.17 6768
6331 lock 관련 질문입니다 [1] 가서리 2013.01.17 7974
6330 outer join 문의 [4] 길주석 2013.01.17 7009
6329 DB에 똑같은 행으로 똑같은 ID 값을 가진 걸 행으로 바꿔 줄려면 어떻게 해야하나요?? [1] dcman 2013.01.16 6201
6328 디비의 특정사용자 전체로그 하려면요..? [3] 문수정 2013.01.16 6527
6327 update 문 질문좀 드릴께요~ [7] 뽀챙 2013.01.16 6342
6326 대용량 데이터의 like 검색은 어떻게 구현하나요? [3] AceCarrot 2013.01.16 8754
6325 PK 설정 여쭤봅니다. [1] Thope 2013.01.16 7159
6324 rollup 소계 구하기 [1] jwko 2013.01.16 7150
6323 dll로 만든 확장프로시져를 일정시간에 다시 올리기가 가능한가요? [2] 블랙 2013.01.15 6082
6322 [질문]유니코드 변환 방법 [3] 구본헌 2013.01.15 8244
6321 SQL 삭제 후 오류 [1] 해바라기 2013.01.15 7308
6320 프로시져내 스트링 검색 [7] 전념 2013.01.15 6386
6319 XML관련... [2] 메칸더 2013.01.15 7075
6318 데이터 두줄로 표현하기~!ㅠㅠ [2] 뽀챙 2013.01.14 8366
6317 특정 코드가 있는 칼럼의 총 카운터를 얹고 싶은데요. [2] 변닷컴 2013.01.14 6297
6316 mssql에 있는 테이블들을 오라클로 가져올려고 하는데 어떻게하나요? [1] 알려주세용 2013.01.14 7016
6315 전체 백업할때 나타나는 메세지의 의미 [2] 레지덥던이불 2013.01.14 6325
6314 MS-SQL2012, Oracle 사이의 Merge Into 문의 입니다. [3] 착한이 2013.01.14 13225
6313 ROW_NUMBER()에서 정렬할 필드 문제 [2] 손담비 2013.01.14 8625





XE Login