【发布时间】:2013-07-26 14:24:55
【问题描述】:
我需要显示四个参数来显示年份和期间之间的数据,例如我想返回发生在 2011 年第 12 期和 2012 年第 4 期之间的交易
我已经走了这么远,但不知道把我放在哪里,我想我还需要 = 某处?
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
【问题讨论】:
-
您当前的代码使用
@YEAR和@PERIOD参数。这些会被“从”年/期间和“到”年/期间替换吗? -
嗨,乔-老实说,@year 和 @period 参数是我最初尝试使用的参数,但发布后它们将可用-我对如何编写最佳代码持开放态度我的参数,我将在报告中相应地更改它们 - 就像我说我正在寻找有关如何从(期间和年份)和到(期间和年份)编码的方向
标签: sql date parameters period year2038