嗨,大家好我已在SQL下面的查询SQL获取信息,但在错误的顺序
SELECT
a1
FROM
dbo.myProductNames
WHERE
keycode = 40 OR keycode = 28 OR keycode = 32 OR keycode = 50
A1 =名称 我需要在表格中的信息输出其查询的顺序IVE问道名字,所以我需要40先是然后28等等。
原因是这是我的代码读取结果并存储在一个数组中,然后用于显示在窗体上。
的SQL查询来自该表具有存储在NUM顺序的信息,因此将于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();
非常感谢所有的帖子!我希望我能举出更多的答案,而不仅仅是一个,哦,好评如潮!
顺便说一句,你还可以使用WHERE密钥代码(40,28,32,50 ),你似乎在寻找某种ORDER BY? – Ruben
根据您所做的一些评论,您声明这将被参数化。是否会有固定数量的整数参数?或者您是否需要一个接受“任意数量”参数的解决方案,并且仍然维护订单?那么,它会是动态SQL(建立一个SQL字符串执行,与该字符串中引用的参数),或存储过程?此外,哪个版本的SQL是这样的? – MatBailie
啊是的,它将始终是4个参数,即时通讯服务器上使用MSSQL。我将在c#中使用附加到我的代码的字符串中的选择。 – lemunk