2010-06-22 48 views
1

有没有办法在sql查询的顶部包含一个空白行,例如,如果它是用于下拉列表? (MS SQL Server 2005或2008)在查询结果中包含一个空行

Select * 
    FROM datStatus 
ORDER BY statusName 

,我想是这样

-1 (please choose one) 
    1 Beginning 
    2 Middle 
    3 Ending 
    4 Canceled 

从一个表,通常是只以上,但没有顶行?

+0

您可以将列表项在您绑定后刚刚开始(可能伴随着这里发生),在这里看起来更简单一些。 – 2010-06-22 00:12:52

回答

6

我觉得这是更好的做到这一点以外的SQL,但如果你坚持......

SELECT -1, '(please choose one)' 
UNION 
SELECT * FROM datStatus 
ORDER BY statusName 
+0

我很难搞清楚如何在UI层中正确地做到这一点,但最终找到了答案。谢谢!我会接受这个,因为它建议不在SQL中做,但仍然给出答案。 – 2010-06-22 00:24:32

+0

如果你说你正在使用什么框架为你的下拉列表(HTML?.Net?),它会更容易给你的替代... :) – Amadan 2010-06-22 01:52:25

+0

.NET dropdownlist,但我已经找到了解决方案在堆栈溢出的另一个答案。谢谢! – 2010-06-22 17:01:33

4

我发现在应用程序的表示层中最好这样做,因为根据上下文可能会有不同的要求。一般来说,我试图让我的数据服务层免除这些实现特定的规则。所以在你的情况下,我通常只需在列表的第一个位置添加一个索引的新项目,之后我用服务层中的数据加载它。

享受!

+0

+1,尽管这不是我所需要的。在这种情况下,我在asp表示层中使用了asp.net sqldatasource,并且我需要一些已经具有正确值的东西,因为我将数据源绑定到了radgrid中的下拉列表。 – 2010-08-05 16:04:24

2

如何将第一行与查询的其余部分结合在一起?

Select -1,'(please choose one)' 
union all 
select * FROM datStatus ORDER BY statusName 
+1

尽管我一般都同意道格认为它应该在UI层中处理。 – Jubal 2010-06-22 00:13:39

相关问题