SELECT * FROM table WHERE (id, make_name) IN (('1995','TOYOTA'),('5015','FIAT'),('1010','BMW'));SELECT * FROM
table t,
(VALUES (1,'1995','TOYOTA'),(2,'5015','FIAT'),(3,'1010','BMW')) AS v(o,id,make_name)
WHERE t.id=v.id AND t.make_name=v.make_name
ORDER BY v.o SELECT *
FROM table
WHERE (id, make_name) IN (('1995','TOYOTA'),('5015','FIAT'),('1010','BMW'))
ORDER BY CASE
WHEN id='1995' THEN 1
WHEN id='5015' THEN 2
WHEN id='1010' THEN 3
ENDdeclare @qqq table (id int primary key, descr nvarchar(max))
insert into @qqq (id,descr)
values (1,'одын'),(2,'два'),(3,'tri'),(-1,'four'),(10,'десять')
select
id,
descr,
ordering = case id when -1 then 3 when 2 then -1 when 3 then 5 end
from @qqq
order by ordering asc1 одын NULL
10 десять NULL
2 два -1
-1 four 3
3 tri 5но в задаче все равно нет этого elseмы же не в армии - можно и дотелепатить недоговоренное в задаче)
Да и портабельность в немаленьких проектах мало осуществима.портабельность бывает разной... к примеру в рамках диапазона присутствующих в эксплуатации версий платформы, а вот заранее копать себе ямки - моветон.
Тоже самое с полом, если в пришедших данных пол не указан, то правильный не нужно угадывать, по хорошему здесь должен был быть эксепшен.или например в формировании отчета - нечто типа ..else 'иное' end...
О каком проекте мы сейчас говорим? Правильно ни о каком, так какие варианты портабельность нам следует соблюдать? Правильно, нет их на данном этапе. Так о каких ямах идёт речь?Конечно мы говорим о посте на тостере, но зачем даже тут прививать дурной стиль непредсказуемого и неочевидного поведения?
1. Как бы вы не сортировали вне задания, это в любом случае неправильное поведение. Неважно куда вы поместите null, если по условию их не должно быть.просто достаточно прочитать между строк что человек хочет определенную сортировку и [поместить остальные в конец] - вот тут тот самый else и поможет осуществить задуманное.
2. С каких пор использование всех возможностей СУБД стало дурным стилемСпички детям не игрушка и дурным стилем является построение неоднозначных или имеющих побочные эффекты конструкций, а не использование каких-либо новых фич..
а если речь про додумывание поведения вне задания, то п.1.у нас стажеры с таким подходом обычно больше месяца не работают)
ага, забыл это момент, да, первыми идут, тогда null last нужно дописать, или чтото в этом роде.
я так понимаю съезжаете с темы?конечно)