2016-11-28 1 views
1

2つのクエリをすべて結合しようとしていますが、グループ化されたクエリとテーブルを持たないハードコード化されたクエリです。共用体を使用しているときにグループ化する

SELECT 'All' Category 
UNION 
SELECT Category as Category 
FROM WV_BlogData 
GROUP BY Category 
ORDER BY COUNT(BlogDataID) desc 

この問題を解決するにはどうすればよいですか?

Msg 207、レベル16、状態1、行50無効な列名 'BlogDataID'。 ステートメントにUNION、INTERSECTまたはEXCEPTの 演算子が含まれている場合、Msg 104、レベル16、状態1、行50のORDER BY項目は、 選択リストに表示する必要があります。

+2

私は間違っていないメートル場合は、列によって順序が少なくともときUNION(または類似の)選択列リスト –

+0

の一部である必要があります。 – jarlh

答えて

5

派生テーブルであなたの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 
関連する問題