我一直在为这个查询争取2天,但仍然无法找到问题所在。Msg 102,Level 15,State 1,Line 15''''附近的语法错误
的SQL查询是这样的:
select t2.transno,
case
when (Select Count (*)
From v1
where v1.transno < v1.transno) > 1
then (
case
when (Select Top 1 v1.transno
From v1
Where v1.transno < v1.transno
Order By v1.transno Desc)=(T2.transno-1)
then ' '
else 'Missing Invoice')
else ''
end AS Marker
FROM v1 AS T2
它给我的错误信息:
Msg 102, Level 15, State 1, Line 15 Incorrect syntax near ')'.
我想你最好能够给我们的表,数据和所需的输出。 SELECT中每行有两个相关的子查询,这意味着性能不佳。如果它很快,那是因为优化器意识到v1.transno
gbn
2011-01-28 06:13:25
它用于检查发票编号的顺序,如果缺少一个编号,那么它会在标记列中显示缺少的发票。我已经完成了在访问它工作正常,但是当我更改语法在SQL Server 2005中运行它,然后得到错误 – Monshine 2011-01-28 06:50:33