我遇到了LIKE語句附近的sql查詢錯誤。我是否在CASE的WHEN子句中錯誤地格式化了LIKE子句?這是代碼。無法精確定位LIKE關鍵字附近的錯誤
SELECT
substring (Cases.FileNumber,4,6) AS [FileNumber]
,Charge.ChargeCode
,Cases.BookedLastName
,Cases.BookedFirstName
,Cases.ArrestDate
,Cases.BookedDOB
,Cases.BookedAge
,Charge.OffenseToDate
,Cases.BookedRace
,Cases.BookedSex
,Charge.OffenseStreetAddress1
,Charge.OffenseCity
,Charge.OffenseState
,Charge.OffenseZipCode
,Charge.ChargeDescription
,(SELECT CASE
WHEN charge1.ChargeDescription LIKE N'%heroin%' THEN 'Heroin'
ELSE 'Not Heroin'
END
FROM tblCsCharge AS charge1
INNER JOIN tblCsCases AS cases1
ON charge1.FileNumber = cases1.FileNumber
WHERE
charge1.BookedLastName = cases1.BookedLastName
AND charge1.BookedLastName = cases1.BookedLastName
AND charge1.BookedDOB = Cases.BookedDOB
AND cases2.ChargeCode IN (N'579.015-001Y201735')) AS HeroinYN
FROM
tblCsCases AS Cases
INNER JOIN tblCsCharge AS Charge
ON Cases.FileNumber = Charge.FileNumber
WHERE Cases.IssuedDate >= 01/01/2017
AND
Cases.IssuedDate <= @EndDate
AND
Charge.ChargeCode IN (N'579.015-001Y201735')
AND
Cases.BookedLastName NOT IN (N'Bogus')
ORDER By
Cases.BookedLastName
這是一家專注於構建只會輸出海洛因或不基於海洛因關閉在我們的數據庫中的大量文本字段的一列一個更大的查詢中的子查詢。
編輯:
儘管變化,應該使代碼編譯,下面的錯誤現在出現: 無效的列名稱BookedLastName「。 列名'BookedLastName'無效。 列名'BookedDOB'無效。 無法綁定多部分標識符「cases2.ChargeCode」。
看起來你錯過了AS ASINYN之前的一個關係,並且混合了搜索到的CASE形式。 –
「不喜歡代碼」,以及你的意思是什麼? –
你不能合併'CASE'的兩個變體,要麼你做'CASE表達'當值THEN ...'或者當'表達那麼'的時候,你就是合併。 –