和演算子には無効であり、私はこのようになりますテーブルがあります。SQLのデータ型はnvarcharは、私はSQLを勉強
Id Name Usage 5.00 10.00 15.00 Sum
1 John 5 5.00 20.00 0 25.00
2 Adam 5.00 0 15.00 20.00
私がいることを確認したい:私はこのような何かを作りたい
Id Name Payd Note
1 John 5.00 R:8days;U:5$
2 Adam 5.00 R:8days;
3 John 10.00 R:8days;
4 John 10.00 R:8days;
5 Adam 15.00 R:30days;
をnoteカラムに「U:5 $」がある場合はその列に「U:5 $」という文字列を追加します。
私のコードは次のようになります。
;with cte as (
select Customer, PaydAmount, PaydAmount as Payd, Note as Usage
from t1
)
select
Customer, Usage
,[4.00] = ISNULL([4.00],0)
,[5.00] = ISNULL([5.00],0)
,[9.00] = ISNULL([9.00],0)
,[10.00] = ISNULL([10.00],0)
,[15.00] = ISNULL([15.00],0)
,[18.00] = ISNULL([18.00],0)
,[20.00] = ISNULL([20.00],0)
,[25.00] = ISNULL([25.00],0)
,[50.00] = ISNULL([50.00],0)
,[Payd] =ISNULL([4.00],0) + ISNULL([5.00],0) + ISNULL([9.00],0) + ISNULL([10.00],0) + ISNULL([15.00],0) + ISNULL([18.00],0) + ISNULL([20.00],0) + ISNULL([25.00],0) + ISNULL([50.00],0)
from cte
pivot (
sum(PaydAmount) for Payd in ([4.00],[5.00],[9.00], [10.00], [15.00],[18.00], [20.00], [25.00], [50.00]))pvt
order by Customer;
あなたの出力は複雑です。使用列の後にはどうなりますか? –
OK、支払われる金額は静的なので、4.00 $、5.00 $、9.00 $を支払うことができます。これらの列には、列名と同じ金額が支払われたすべての金額が合計されます。たとえば、ジョンのpayd 2回4 $は、ジョンによって4.00の列で8 $です。最後の合計は、すべての支払額の合計です。私はちょうどU:5 $があるかどうかをチェックして、実際にU5:$を彼のメモに入れた顧客が5列5を追加したいとします。 – vidooo
エラーメッセージから、金額が 'NVARCHAR'列に格納されているように見えます。 'MONEY'または' DECIMAL'型カラムに格納されているか、 'SUM'の' MONEY'または 'DECIMAL'にデータが' CAST'されているかを確認してください。 –