2017-08-23 6 views
0

私はここでSTUFFにしようとしている2つの異なる値を持っています。それは数量+価格です。例:1- $ 0.36; 100- $ 0.29; 25- $ 0.31。どのように詰め込まれる前に数量でソートすることができますか? (1,25,100の代わりに、1,100,25)私は、このリンクSort data before concatenating using STUFF FOR XML渡って来たが、それは1つの値に対処し、私はあなたが前に、ORDER BYを追加することができる必要があり2つの値SSRSでSTUFFを使用する前にソートする方法

SELECT STUFF(
    (SELECT DISTINCT TOP (5) 
     '; ' + (CAST(FLOOR(CASE WHEN PCFBD.Quantity IS NOT NULL THEN PCFBD.Quantity ELSE 1 END) AS VARCHAR) + '-$' + CAST(REPLACE(REPLACE(RTRIM(REPLACE(
     CASE WHEN PCF.PriceMethod = 0 THEN ROUND(I.CdCost/(100 - PCF.FormulaPercent) * 100, 2) 
      WHEN PCFBH.PriceFormula = 2 AND PCFBD.FormulaPercent IS NULL THEN ROUND(I.CdCost/(100 - PCF.FormulaPercent) * 100, 2) 
      WHEN PCFBH.PriceFormula = 2 AND PCFBD.FormulaPercent IS NOT NULL THEN ROUND(I.CdCost/(100 - PCFBD.FormulaPercent) * 100, 2) 
      WHEN PCFBH.PriceFormula = 1 THEN ROUND((I.ListPrice * (100 - PCFBD.FormulaPercent)) * .01,2) 
      ELSE NULL END, '000' ,'')), ' ','0') + '', '. ', '') AS VARCHAR)) 
FROM    Item AS I 
INNER JOIN  PriceContractFamily AS PCF ON I.FamilyId = PCF.FamilyId 
       AND I.ItemStatus IN (0, 5) 
INNER JOIN  StockItem SI ON I.ItemId = SI.ItemId 
       AND SI.WarehouseId = '502E5876-C26B-4E11-8B88-AFE0C34ECF0D'      
LEFT OUTER JOIN PriceContractFamilyBracketHeader AS PCFBH ON PCF.PriceContractFamilyId = PCFBH.PriceContractFamilyId 
LEFT OUTER JOIN PriceContractFamilyBracketDetail AS PCFBD ON PCFBH.BracketHeaderId = PCFBD.BracketHeaderId 
WHERE I.ListPrice = @ListPrice 
AND LEFT(I.ItemNumber, 6) = @ItemNumber 
AND PCF.PriceContractId = @PriceContractId 
FOR XML PATH('')),1, 2, '') AS QtyPrice               

答えて

0

を扱っていますFOR XML PATHステートメント。

関連する問題