Dav*_*len 5 sql t-sql sql-server sql-server-2005
我希望运行一个查询并从中获得结果.但是,MSSQL抱怨关键字附近有语法错误GROUP.我希望做到以下几点.
SELECT COUNT(*) AS cnt,Field_2
FROM (SELECT DISTINCT Field_1, Field_2
FROM Table_1)
GROUP BY Field_2
HAVING COUNT(*) > 1
Run Code Online (Sandbox Code Playgroud)
相反,我不得不使用查询创建一个View_1视图
SELECT DISTINCT Field_1, Field_2
FROM Table_1
Run Code Online (Sandbox Code Playgroud)
然后做一个
SELECT COUNT(*) AS cnt, Field_2
FROM View_1
GROUP BY Field_2
HAVING COUNT(*) > 1
Run Code Online (Sandbox Code Playgroud)
问题是为什么,在我看来它本质上是相同的SQL.
注意:字段,表格和视图名称已更改以保护无辜者.;-)
OMG*_*ies 13
SQL Server要求您为派生表/内联视图指定表别名:
SELECT COUNT(*) AS cnt,
x.Field_2
FROM (SELECT DISTINCT Field_1, Field_2
FROM Table_1) AS x
GROUP BY x.Field_2
HAVING COUNT(*) > 1
Run Code Online (Sandbox Code Playgroud)