привет, ребята, у меня есть следующий запрос в sql
SELECT
a1
FROM
dbo.myProductNames
WHERE
keycode = 40 OR keycode = 28 OR keycode = 32 OR keycode = 50
a1 = имя Мне нужна информация в таблице, чтобы вывести запрошенные имена в заданном порядке, поэтому мне нужно сначала 40, затем 28 и так далее.
Причина в том, что мой код считывает результаты и сохраняет их в массиве, который затем используется для отображения в форме.
Таблица, из которой исходит SQL-запрос, содержит информацию в числовом порядке, поэтому сначала будет прочитано 28 и т. Д.
Как я уже сказал, мне нужно получать информацию в том порядке, в котором я ввел в предложении where.
Я думаю, что можно сделать с вложенными операторами Select, хотя я никогда не пробовал вложенные выборки.
Или есть простой способ?
Любая помощь была бы замечательной!
Заранее большое спасибо!
!!!!! ОБНОВЛЕНИЕ !!!!!
Хорошо, вот и решение, спасибо вам, ребята!
SqlCommand pgNameFill = new SqlCommand("SELECT a1, CASE keycode WHEN @pg1 THEN 1 WHEN @pg2 THEN 2 WHEN @pg3 THEN 3 WHEN @pg4 THEN 4 END AS SortOrder FROM dbo.myProductNames WHERE keycode IN (@pg1, @pg2, @pg3, @pg4) ORDER BY SortOrder ASC", conny1);
pgNameFill.Parameters.AddWithValue("@pg1", pg1);
pgNameFill.Parameters.AddWithValue("@pg2", pg2);
pgNameFill.Parameters.AddWithValue("@pg3", pg3);
pgNameFill.Parameters.AddWithValue("@pg4", pg4);
SqlDataReader readpg = pgNameFill.ExecuteReader();
Большое спасибо за все сообщения! Я хотел бы отметить больше ответов, чем один, ну да ладно, все вокруг!