sql получает информацию, но в неправильном порядке

привет, ребята, у меня есть следующий запрос в 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();

Большое спасибо за все сообщения! Я хотел бы отметить больше ответов, чем один, ну да ладно, все вокруг!

5
задан lemunk 12 December 2011 в 13:18
поделиться