Hi guys Mam następujące zapytanie w SQLsql uzyskanie informacji, ale w niewłaściwej kolejności
SELECT
a1
FROM
dbo.myProductNames
WHERE
keycode = 40 OR keycode = 28 OR keycode = 32 OR keycode = 50
a1 = nazwa potrzebuję informacji w tabeli do wyjścia nazwiska jego zapytaliśmy w ive kolejności zadawanych , więc potrzebuję 40, aby być pierwszym, a następnie 28.
Powodem tego jest mój kod odczytuje wyniki i zapisuje w tablicy, która następnie jest używana do wyświetlania w formularzu.
tabela że zapytanie SQL pochodzi posiada informacje przechowywane w kolejności num, więc 28 będzie najpierw przeczytać itp itd
Jak już powiedziałem, że trzeba uzyskać informacje w celu wszedłem w gdzie klauzula.
Zastanawiam się, co zrobić z zagnieżdżonymi instrukcjami Select, chociaż nigdy nie próbowałem zagnieżdżonych zaznaczeń.
Czy jest tam łatwy sposób?
Każda pomoc będzie świetna!
Wielkie dzięki z góry!
!!!!! AKTUALIZACJA !!!!!
ok, oto rozwiązanie dzięki wam!
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();
Wielkie dzięki za wszystkie posty! szkoda, że nie mogę oznaczyć więcej odpowiedzi niż tylko jedno, oh, wszystko wokół!
Przy okazji można też użyć WHERE kod dostępu w oknie (40,28,32,50) i wydaje się, że szukasz jakiegoś rodzaju ZAMÓWIENIA? – Ruben
Na podstawie kilku komentarzy, które napisałeś, stwierdzasz, że zostaną sparametryzowane. Czy będzie to, że masz stałą liczbę parametrów całkowitych? A może potrzebujesz rozwiązania, które akceptuje "dowolną liczbę" parametrów i nadal utrzymuje zamówienie? Czy będzie to dynamiczny sql (budowanie łańcucha sql do wykonania, z parametrami przywoływanymi w tym łańcuchu), czy procedura składowana? Również, dla której wersji SQL to jest? – MatBailie
ah tak, zawsze będą to 4 parametry, używając MSSQL na serwerze z 2008 roku.i użyję zaznaczenia w ciągu znaków dołączonym do mojego kodu w C# – lemunk