ورود

View Full Version : شرط در order by



fakhravari
شنبه 02 شهریور 1398, 22:27 عصر
با سلام
SELECT * FROM (
SELECT i.* FROM dbo.ProductInventory i
)bb


ORDER BY
CASE WHEN @IdOrderList = 1 THEN bb.Inventory END DESC,
CASE WHEN @IdOrderList = 2 THEN bb.TotalPrice END ASC,
CASE WHEN @IdOrderList = 3 THEN bb.TotalPrice END DESC,
CASE WHEN @IdOrderList = 4 THEN bb.Inventory END ASC,


CASE WHEN @IdOrderList = 5 THEN bb.Inventory END DESC,
CASE WHEN @IdOrderList = 5 THEN bb.TotalPrice END ASC,


CASE WHEN @IdOrderList = 6 THEN bb.Inventory END DESC,
CASE WHEN @IdOrderList = 6 THEN bb.TotalPrice END DESC

در قسمت @IdOrderList با 5و6 میخواهم Inventory با TotalPrice با هم سورت شود.
یعنی موجودی دار با قیمت زیاد
موجودی دار با قیمت کم

این کد میاد اول کلا Inventory بعد TotalPrice سورت میکنه همزمان این کار نمیکنه.

fakhravari
پنج شنبه 14 شهریور 1398, 23:41 عصر
https://www.dotnettips.info/post/1139/دستکاری-کردن-عملیات-sort-در-sql-server#comment-17254 (https://www.dotnettips.info/post/1139/%D8%AF%D8%B3%D8%AA%DA%A9%D8%A7%D8%B1%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA-sort-%D8%AF%D8%B1-sql-server#comment-17254)

mmbguide
چهارشنبه 29 آبان 1398, 16:15 عصر
اونجایی که برای مقدار 5 دو تا شرط گذاشتی، همون رو در یک خط و بنویس ORDER BY Inventory ASC , TotalPrice DESC