我在SSRS中组合or/and语句时遇到问题。我使用了几个参数字段,但运气不好。除了开始日期和结束日期之外,我还可以使用数据集中的查询对其他参数进行多选。我的问题是获得所有的福利、扣除额和工资代码,然后将它们限制在一个日期范围内。未筛选日期。
SELECT
UPR30100.EMPLOYID
,UPR30100.CHEKDATE AS [UPR30100 CHEKDATE]
,UPR30100.CHEKNMBR
,UPR30100.PYADNMBR
,UPR30300.PYRLRTYP
,UPR30300.PAYROLCD
,UPR30300.CHEKDATE AS [UPR30300 CHEKDATE]
,UPR30300.UNTSTOPY
,UPR30300.PAYRATE
,UPR30300.UPRTRXAM
,UPR00100.LASTNAME
,UPR00100.FRSTNAME
,UPR00100.ADRSCODE
,UPR00100.BRTHDATE
,UPR00100.SOCSCNUM
,UPR00100.STRTDATE
,UPR00100.BENADJDATE
,UPR00100.LASTDAYWORKED_I
,UPR30100.VOIDED
,UPR30300.DAYSWRDK
,SY01200.INET1
,UPR00102.ADDRESS1
,UPR00102.ADDRESS2
,UPR00102.CITY
,UPR00102.[STATE]
,UPR00102.ZIPCODE
FROM
UPR30100
INNER JOIN UPR30300
ON UPR30100.CHEKNMBR = UPR30300.CHEKNMBR
INNER JOIN UPR00100
ON UPR30100.EMPLOYID = UPR00100.EMPLOYID
INNER JOIN UPR00102
ON UPR00100.ADRSCODE = UPR00102.ADRSCODE AND UPR00100.EMPLOYID = UPR00102.EMPLOYID
INNER JOIN SY01200
ON UPR00102.EMPLOYID = SY01200.Master_ID AND UPR00102.ADRSCODE = SY01200.ADRSCODE
WHERE UPR30300.PAYROLCD in (@Paycodes)or UPR30300.PAYROLCD in (@Benefits)or UPR30300.PAYROLCD in (@Deductions) and UPR30300.chekdate between (@Begindate) and (@Enddate)
谢谢
迈克