2013-07-26 3 views
0

I 연도와 기간 사이에 데이터를 표시하는 4 개의 매개 변수를 표시해야합니다. 예를 들어 2011 년 12 월과 2012 년 기간에 발생한 트랜잭션을 반환하고자합니다. 4ssrs 보고서 빌더 2008에서 두 날짜 중 하나를 선택하십시오.

필자는 지금까지 어디서 왔는지 확신 할 수 없지만 < = 또는> = 어딘가에 있어야합니까?

SELECT 
    dbo.MBO450.cmpcode AS CMPCODE, 
    dbo.MBO300.yr AS YR, 
    dbo.MBO300.period AS PERIOD, 
    dbo.MBO300.inpdate AS INPUT_DATE, 
    dbo.MBO300.docdate AS DOCUMENT_DATE, 
    dbo.MBO450.doccode AS DOCCODE, 
    dbo.MBO450.docnum AS DOCNUM, 
    dbo.MBO450.el2 AS EL2, 
    dbo.MBO110.vat AS VATCODE, 
    dbo.MBO450.ref1 AS SUPPLIER_INVOICE, 
    dbo.MBO450.ref2 AS INVOICE_REGISTER, 
    dbo.MBO450.ref3 AS EXT_REF3, 
    dbo.MBO450.ref4 AS EXT_REF4, 
    dbo.MBO130.name AS EL2_NAME, 
    MBO450_1.el2 AS SUPPLIER, 
    MBO130_1.name AS [SUPPLIER NAME], 
    dbo.MBO440.vat, 
    dbo.MBO440.federaltax, 
    dbo.MBO440.ten99code, 
    dbo.MBO320.add1, 
    dbo.MBO320.add2, 
    dbo.MBO320.add3, 
    dbo.MBO320.add4, 
    dbo.MBO320.add5, 
    dbo.MBO320.add6, 
    dbo.MBO320.postcode, 
    dbo.MBO320.country, 
    dbo.MBO320.tel, 
    dbo.MBO320.fax, 
    dbo.MBO450.doctaxturn 
FROM 
    dbo.MBO300 
    INNER JOIN dbo.MBO450 
      ON dbo.MBO300.cmpcode = dbo.MBO450.cmpcode 
      AND dbo.MBO300.doccode = dbo.MBO450.doccode 
      AND dbo.MBO300.docnum = dbo.MBO450.docnum 
    INNER JOIN dbo.MBO110 
      ON dbo.MBO450.cmpcode = dbo.MBO110.code 
    INNER JOIN dbo.MBO130 
      ON dbo.MBO450.cmpcode = dbo.MBO130.cmpcode 
      AND dbo.MBO450.el2 = dbo.MBO130.code 
    INNER JOIN dbo.MBO450 AS MBO450_1 
      ON dbo.MBO450.cmpcode = MBO450_1.cmpcode 
      AND dbo.MBO450.doccode = MBO450_1.doccode 
      AND dbo.MBO450.docnum = MBO450_1.docnum 
    INNER JOIN dbo.MBO130 AS MBO130_1 
      ON MBO450_1.el2 = MBO130_1.code 
    INNER JOIN dbo.MBO440 
      ON MBO450_1.el2 = dbo.MBO440.elmcode 
    INNER JOIN dbo.MBO320 
      ON MBO450_1.el2 = dbo.MBO320.elmcode 
WHERE 
    (dbo.MBO450.el2 = 'VIZ') 
    AND (MBO450_1.el2 LIKE 'S%') 
    AND dbo.MBO300.yr LIKE (@YEAR) 
    AND dbo.MBO300.period LIKE (@PERIOD) 
ORDER BY 
    YR, PERIOD, DOCNUM 
+0

현재 코드는'@의 YEAR'과'@ PERIOD' 매개 변수 사용을 . 이것들은 "from"년/기간과 "to"year/period로 대체 될 것입니까? – Joe

+0

안녕하세요 Joe - 솔직히 말해서 @ year와 @ period parameteres는 원래 사용하려고 시도했지만 사용하기로 예정되어 있습니다 - 내 매개 변수와 코드를 수정하는 방법에 대한 아이디어가 열려 있습니다. 그에 따라 보고서에 - 나는 (기간 및 연도)부터 (기간 및 연도)를 코드화하는 방법에 대한 지침을 찾고 있다고 말합니다. – user2615341

답변

0

함께 @ 년과 @Period 조건을 바꾸기 :

(dbo.MBO300.yr > 2011 
    OR (dbo.MBO300.yr = 2011 
     AND dbo.MBO300.period >= 12)) 
AND (dbo.MBO300.yr < 2012 
    OR (dbo.MBO300.yr = 2012 
     AND dbo.MBO300.period <= 4)) 

또는 매개 변수 사용 :

(dbo.MBO300.yr > @YEAR_START 
    OR (dbo.MBO300.yr = @YEAR_START 
     AND dbo.MBO300.period >= @PERIOD_START)) 
AND (dbo.MBO300.yr < @YEAR_END 
    OR (dbo.MBO300.yr = @YEAR_END 
     AND dbo.MBO300.period <= @PERIOD_END)) 
+0

감사합니다. Joe는 완벽합니다. – user2615341

관련 문제