【发布时间】:2017-01-12 13:38:47
【问题描述】:
我有一个 SQL 查询,它带回最重要的员工,应该出现在下拉列表的顶部,然后是下面的所有其他员工。
查询是使用联合构建的,以将两个查询收集在一起。
我想在下拉列表顶部放置文本,并在联合之间放置文本。这可能吗?
E.G “Preferred Staff Members”作为最高层,“All Other Staff members”将两个工会分开
select DISTINCT e.EMPLOY_REF, e.FORENAME + ' ' + e.SURNAME as Name
from EMPLOYEE_TABLE e
where e.ID = @ID
and e.DATE_LEFT IS NULL or e.DATE_LEFT > GETDATE()
UNION ALL
select DISTINCT e.EMPLOY_REF, e.FORENAME + ' ' + e.SURNAME as Name
from EMPLOYEE_TABLE e
where e.DATE_LEFT IS NULL or e.DATE_LEFT > GETDATE()
ORDER BY Name
【问题讨论】:
-
考虑使用两个下拉菜单。这可能是基于意见的,IMO 这不是好的用户界面设计实践。它还需要额外的输入验证逻辑,因为您不希望用户能够实际选择“首选员工”的值。
-
您最好执行两个查询,然后在代码层中添加其他列表项,因为它是特定于显示而不是数据的内容。想象一下在其他地方重用该查询,突然间你有了额外的非数据数据
标签: c# sql asp.net dropdown union-all