2017-02-17 7 views
0

スクリプトでNULL値を変換しようとしています.PIVOT関数も使用しています。これは私のスクリプトと "0"ピボットでヌル値を変換する

宣言@custnumのnvarchar型にNULLを変換する私の試みである(7)= '1124' 宣言@yr SMALLINT = 2016

SELECT 'Customer Orders Returned' as Description, * 
FROM (
SELECT left(datename(month,r.rma_date),3) AS RetMonth, 
ISNULL(COUNT(r.rma_num),0) as OrdersReturned 
FROM dbo.rma r 
WHERE r.cust_num = @custnum AND YEAR(r.rma_date) = @yr 
GROUP BY left(datename(month,r.rma_date),3),r.rma_num 
) 
AS R 

PIVOT 
(
SUM(OrdersReturned) 
FOR RetMonth 
IN (Jan,Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec) 
)AS pvt 

マイ結果:

Results Table

問題の解決に役立つご意見をお寄せいただきありがとうございます。

ありがとうございます!まず、あなたのクエリの例では、選択から「*」を削除し、実際の列名を使用し、その後、使用ISNULL(ColumnNameに、0)する必要があります。これを行うために

+2

: - 選択tablenameのISNULL(列名、0) – Ashu

+1

*を使うのが悪い習慣である理由のもう一つの例です。 :) –

+0

提案の皆様に感謝します。 select ISNULL(columnname、0)を試したが、それでも動作しませんでした。しかし、私は仕事をしたサイトで解決策を見つけました:COALESCE(Jan、0)Jan、COALESCE(Feb、0)、....など各列について。 – BenMasullo

答えて

0

利用ISNULL()関数

Select ISNULL(columnname,0) from tablename 
関連する問題