sql server 中的嵌套查询

在sql server中执行一个嵌套查询,结果总是出错,查询语句如下:

  select count(1) 
    from (select slabid, 
                 count(1) 
            from SlabRuleResult 
           group by slabid)

错误提示如下:

Msg 102, Level 15, State 1, Line 7
Incorrect syntax near ')'.

原因是嵌套的查询必须有个别名

  select count(1) 
    from (select slabid, 
                 count(1) 
            from SlabRuleResult 
           group by slabid) x

加上别名x后,仍然报错,但是错误不一样了

Msg 8155, Level 16, State 2, Line 7
No column name was specified for column 2 of 'x'.

这次的原因是子查询内的count(1) 没有别名,修改后运行就没问题了

  select count(1) 
    from (select slabid, 
                 count(1) num
            from SlabRuleResult 
           group by slabid) x

 

posted @ 2023-02-21 10:08  脱缰的野猪  阅读(183)  评论(0编辑  收藏  举报