1

分類を SQL Server 2012 にしようとしています ( SQL Fiddleデモを見る)

ただし、サブクエリを導入すると、次のメッセージが表示されます。表現として

代わりにどのスクリプトを使用すればよいですか?

編集: SQL Fiddle デモに基づいて、次の出力が必要です。

CATEGORY    REGION    PRECIO    CATEGORY
Pepe         Paris      21        Other
Pizza        Paris      21        Pizza
Pizza        Paris      22        Pizza
Salad        Paris      22        Other
Beverage    Vidreres    20       Beverage   
Beverage    Vidreres    24       Beverage   
Pizza       Vidreres    19        Pizza
Pizza       Vidreres    20        Pizza 

前もって感謝します。

4

4 に答える 4

3

カウントを追加します (要件の変更はやめてください)。コードの繰り返しを避けるためCASEに、CTE で式を実行できます (派生テーブルを使用することもできます)。

;WITH x AS 
(
  SELECT Category, Region, Precio, 
    Products = CASE WHEN Category IN ('Pizza','Beverage')
      THEN Category ELSE 'Other' END
  FROM dbo.supportContacts
)
SELECT Category, Region, Precio, Products,
  ProductCount = COUNT(*) OVER (PARTITION BY Products)
FROM x;

SQL フィドルのデモ

于 2013-04-12T13:42:41.210 に答える