次のコードでは、purchase_priceが大文字小文字のorder byステートメントをオーバーライドしています。Second Order By SQL Serverで最初に上書きする
SELECT
i.products_mpn, i.active,
i.distributor_code, i.sales_price
FROM
@duplicates d
LEFT JOIN
import i ON i.products_mpn = d.products_mpn
AND i.distributor_code = (SELECT TOP 1 distributor_code
FROM dbo.kting_ICECAT_import
WHERE products_mpn = d.products_mpn
ORDER BY
(SELECT
CASE
WHEN (i.distributor_code = 'x' or i.distributor_code = 'y') AND CAST(stock as int) > 0
THEN 2
WHEN CAST(stock as int) > 0
THEN 1
ELSE 0
END) DESC,
CAST(purchase_price AS decimal(28,12)))
それはcase文での順序で動作するように取得する方法と、その後purchase_price
はありますか?
サンプルデータ、pls –