0

moneyタイプの列に基づいて結果をソートしようとしています。並べ替えでは、目的の結果が得られないようです。

クエリ:

SELECT ItemID, ItemName, Total, 
       '$' + replace(convert(varchar,cast(Volume as money),1), '.00','') as Volume, 
   '$' +  replace(convert(varchar,cast(Average as money),1), '.00','') as Average,  
       FinalTotal     
FROM @FinalTabVariable
ORDER BY Average DESC

ありがとう

BB

4

1 に答える 1

2

私が間違っていると思うことがいくつかあります。

Average並べ替えたい列の名前であるエイリアスを使用しているため、実際にはvarchar値ではなくmoney. 使用してみてください:

SELECT ItemID, ItemName, Total, 
       '$' + replace(convert(varchar,cast(Volume as money),1), '.00','') as Volume, 
   '$' +  replace(convert(varchar,cast(Average as money),1), '.00','') as Avg,    
FROM @FinalTabVariable
ORDER BY Average DESC

Average列がの場合、クエリでmoney使用している理由がわかりません。cast(Average as money)この場合、これは不要のようです。

于 2013-02-19T18:00:39.860 に答える