Jos*_*hua 33 t-sql sql-server sql-server-2008
我需要计算以下查询返回的行数.
select m.Company_id
from Monitor as m
inner join Monitor_Request as mr on mr.Company_ID=m.Company_id
group by m.Company_id
having COUNT(m.Monitor_id)>=5
Run Code Online (Sandbox Code Playgroud)
我试过以下
select COUNT(*) from
(
select m.Company_id
from Monitor as m
inner join Monitor_Request as mr on mr.Company_ID=m.Company_id
group by m.Company_id
having COUNT(m.Monitor_id)>=5)
Run Code Online (Sandbox Code Playgroud)
它在查询分析器中给出了一条错误消息,其中说明如下:
消息102,级别15,状态1,行7'''附近的语法不正确.
JNK*_*JNK 59
SQL Server需要您SELECT FROM或JOIN具有别名的子查询.
为子查询添加别名(在本例中x):
select COUNT(*) from
(
select m.Company_id
from Monitor as m
inner join Monitor_Request as mr on mr.Company_ID=m.Company_id
group by m.Company_id
having COUNT(m.Monitor_id)>=5) x
Run Code Online (Sandbox Code Playgroud)
Mik*_*use 11
尝试将整个选择括在括号中,然后对其运行计数(*)
select count(*)
from
(
select m.id
from Monitor as m
inner join Monitor_Request as mr
on mr.Company_ID=m.Company_id group by m.Company_id
having COUNT(m.Monitor_id)>=5
) myNewTable
Run Code Online (Sandbox Code Playgroud)
语法错误仅仅是由于子查询缺少别名:
select COUNT(*) from
(
select m.Company_id
from Monitor as m
inner join Monitor_Request as mr on mr.Company_ID=m.Company_id
group by m.Company_id
having COUNT(m.Monitor_id)>=5) mySubQuery /* Alias */
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
90007 次 |
| 最近记录: |