有没有办法在sql查询的顶部包含一个空白行,例如,如果它是用于下拉列表? (MS SQL Server 2005或2008)在查询结果中包含一个空行
Select *
FROM datStatus
ORDER BY statusName
,我想是这样
-1 (please choose one)
1 Beginning
2 Middle
3 Ending
4 Canceled
从一个表,通常是只以上,但没有顶行?
有没有办法在sql查询的顶部包含一个空白行,例如,如果它是用于下拉列表? (MS SQL Server 2005或2008)在查询结果中包含一个空行
Select *
FROM datStatus
ORDER BY statusName
,我想是这样
-1 (please choose one)
1 Beginning
2 Middle
3 Ending
4 Canceled
从一个表,通常是只以上,但没有顶行?
我觉得这是更好的做到这一点以外的SQL,但如果你坚持......
SELECT -1, '(please choose one)'
UNION
SELECT * FROM datStatus
ORDER BY statusName
我很难搞清楚如何在UI层中正确地做到这一点,但最终找到了答案。谢谢!我会接受这个,因为它建议不在SQL中做,但仍然给出答案。 – 2010-06-22 00:24:32
如果你说你正在使用什么框架为你的下拉列表(HTML?.Net?),它会更容易给你的替代... :) – Amadan 2010-06-22 01:52:25
.NET dropdownlist,但我已经找到了解决方案在堆栈溢出的另一个答案。谢谢! – 2010-06-22 17:01:33
我发现在应用程序的表示层中最好这样做,因为根据上下文可能会有不同的要求。一般来说,我试图让我的数据服务层免除这些实现特定的规则。所以在你的情况下,我通常只需在列表的第一个位置添加一个索引的新项目,之后我用服务层中的数据加载它。
享受!
+1,尽管这不是我所需要的。在这种情况下,我在asp表示层中使用了asp.net sqldatasource,并且我需要一些已经具有正确值的东西,因为我将数据源绑定到了radgrid中的下拉列表。 – 2010-08-05 16:04:24
如何将第一行与查询的其余部分结合在一起?
Select -1,'(please choose one)'
union all
select * FROM datStatus ORDER BY statusName
尽管我一般都同意道格认为它应该在UI层中处理。 – Jubal 2010-06-22 00:13:39
您可以将列表项在您绑定后刚刚开始(可能伴随着这里发生),在这里看起来更简单一些。 – 2010-06-22 00:12:52