我收到以下错误:
关键字“ with”附近的语法不正确。如果此语句是公用表表达式,xmlnamespaces子句或更改跟踪上下文子句,则前一条语句必须以分号终止。
使用此SQL:
SELECT DISTINCT
Name, t1.[value] AS DateTime
FROM
BmaCare.Questionnaire qu
LEFT JOIN
BmaCare.Pregnancy pr ON qu.PregnancyId = pr.Id
CROSS APPLY
OPENJSON(qu.Data, '$.actions')
WITH (
entries NVARCHAR(MAX) '$.entries' AS JSON) j
CROSS APPLY
OPENJSON(j.entries)
WITH (
[key] NVARCHAR(100) '$.key',
[value] NVARCHAR(100) '$.value') t1
WHERE
t1.[key] = 'Admission.DateTime' OR t1.[key] = 'Discharge.DateTime'
AND t1.[value] IS NOT NULL
AND pr.Uuid = '50E8835B-4ECE-4333-9B5B-DD6AF611989C'
ORDER BY
DateTime DESC
在此提供了一个解决方案:Incorrect syntax near the keyword 'with'. If this statement is a common table expression等于在每个WITH前面加一个分号。很简单的。当我在SQL字符串中这样做时,我得到了
第15级状态1行5的消息102
'('附近的语法不正确。
如何使查询正常工作?
答案 0 :(得分:0)
您的数据库必须具有兼容级别130(SQL Server 2016)或更高,才能使用IF time >=0800<=1700 (
DO NOTHING
) ELSE (
RUN CODE
)
。否则,您将收到语法错误,指示错误放置OPENJSON
语句。