Sma*_*EGA 1 sql t-sql sql-server
我试图将所有两个查询联合起来,其中一个具有group by和另一个只是一个没有表的硬编码值.
SELECT 'All' Category
UNION
SELECT Category as Category
FROM WV_BlogData
GROUP BY Category
ORDER BY COUNT(BlogDataID) desc
Run Code Online (Sandbox Code Playgroud)
我得到以下错误,如何摆脱这个?
消息207,级别16,状态1,行50无效的列名称'BlogDataID'.如果语句包含UNION,INTERSECT或EXCEPT运算符,则消息104,级别16,状态1,行50 ORDER BY项必须出现在选择列表中.
UNION在派生表中包装你:
select Category
from
(
SELECT 'All' Category, 0 as cnt
UNION
SELECT Category as Category, COUNT(BlogDataID) as cnt
FROM WV_BlogData
GROUP BY Category
) dt
ORDER BY cnt desc
Run Code Online (Sandbox Code Playgroud)