除非另外还指定了 TOP 或 FOR XML
执行下面SQL 会收到如题的错误.这是为什么呢? 注意红色部分,它属于子查询,再关注出错信息.问题出在order by...... select location from (Select *From LOCATION Where WAREHOUSE = N'W3_SHANGHAI'And PUT_ZONE = N'AA'And LOCATION_TYPE = N'STO' Order By LOCATION Asc)as t1 where not exists(select 1 from inventory where(qty>0 or qty_expected>0)and inventory.location = t1.location and inventory.warehouse = t1.warehouse) order by t1.location OK,就是这样>>>>>因为作为子查询,如果有order ...,规定必须有TOP,所以红色部分改成 Select top 100 percent * From LOCATION Where WAREHOUSE = N'W3_SHANGHAI' And PUT_ZONE = N'AA' And LOCATION_TYPE = N'STO' Order By LOCATION Asc 就漂亮地运行啦! 我们可以举一反三如: select top 10 id from table ...order by... select top 100 percent id from table ... order by ... 也许有问.SELECT TOP 100 PERCENT这是虾米东西啊. 继续说明: --返回符合条件的100%的记录,即所有符合条件的记录 SELECT TOP 100 PERCENT * --返回符合条件的100条记录,即只返回符合条件的100条记录 SELECT TOP 100 * 甚至我们可以这样写 SELECT TOP 30 PERCENT from table ... order by...desc/asc |