2016-04-19 10 views
1

変数:宣言私は、エラーメッセージが表示されます

メッセージ164、レベル15、状態1、行18
GROUP BY式が外部参照

ではない少なくとも1つの列が含まれている必要がありますこのT-SQLコードから

DECLARE @CLIENT_COUNT INT 

SELECT @CLIENT_COUNT = COUNT(CLT_NBR) FROM CLIENT 

SELECT 
    CASE 
     WHEN STATUS = 3 
      THEN 'CATEGORY1' 
      ELSE 'CATEGORY2' 
    END AS Category, 
    COUNT(*) AS COUNT, 
    @CLIENT_COUNT as [Total CLIENT], 
    COUNT(*)/@CLIENT_COUNT as PERCENTAGE 
FROM 
    CLIENT_STATUS 
WHERE 
    STATUS IN (3, 8) 
GROUP BY 
    STATUS, @CLIENT_COUNT 

はあなたが私はそれを修正するのに役立つことはできますか?

ありがとうございました!

答えて

1

あなたの構文が間違っています。 FROMの前に返される必要がある値をすべて入れる必要があります。

DECLARE @CLIENT_COUNT INT 

SELECT @CLIENT_COUNT = COUNT(CLT_NBR) 
FROM CLIENT 

SELECT CASE 
    WHEN STATUS = 3 
     THEN 'CATEGORY1' 
    ELSE 'CATEGORY2' 
    END AS Category 
    , COUNT(STATUS) AS StatusCount 
    , @CLIENT_COUNT AS [Total CLIENT] 
    , COUNT(STATUS)/@CLIENT_COUNT AS PERCENTAGE 
FROM CLIENT_STATUS 
WHERE STATUS IN (
     3 
     ,8 
    ) 
GROUP BY STATUS 
+0

ありがとうございました!私はちょうど私の質問を変更しました、あなたは私を助けてくれますか? – Ice

+0

答えが –

+0

です。@ CLIENT_COUNTをGROUP BYに追加した後も同じエラーが表示されます – Ice

関連する問題