-1
我有一個SQL查詢,當WHERE語句只包含一個語句,但不包含同時包含這兩個語句時正常工作。當我使用這兩個WHERE語句時,我得到「錯誤轉換數據類型爲varchar到數字。」 (錯誤發生在第二個SELECT語句中,而不是在CTE中)。使用多個WHERE語句時轉換數據類型出錯
這段代碼是什麼我想:
;WITH cte_1 as(
SELECT EVENT_ID
,CLIENT_ID
,convert(varchar(10), E.STARTDATE, 101) as R106_DATE
FROM SCEVENT
WHERE STARTDATE>='06/01/2016' AND STARTDATE<='06/30/2016'
and SVC_ID=106
)
SELECT R.*
,convert(varchar(10), S.BEG_DATE, 101) as SVC_DATE
,S.UNIT_ID
FROM cte_1 R
JOIN CDCLSVC S
on R.CLIENT_ID=S.CLIENT_ID
WHERE R106_DATE<=BEG_DATE
and UNIT_ID=251
如果我包括一個或WHERE語句,它工作正常的其它。但是,如果我有這兩個陳述,我得到一個錯誤。
(期望的結果是人誰在單元251有一個服務後,他們有一個服務代碼(SVC_ID)106的列表)
的思考?
'CDCLSVC.CLIENT_ID'和'SCEVENT.CLIENT_ID'的數據類型是什麼? –
CLIENT_ID在兩個數據集中都是數字。 UNIT_ID也是數字。 – Kristin
因此,如果我將它從「and UNIT_ID = 251」更改爲「和UNIT_ID> = 251」,我的代碼將工作。它適用於>符號。但是,當然,這不是我想要的。 – Kristin