Kev*_*vin 0 sql sql-server sql-server-2008
我有一个名为fullname列的表 userFullName
我正在尝试创建一个正确的select语句来显示下拉列表的"-Select User-"值,但是在userFullName字段中按结果名排序结果集.
我怎么能够:
SQL语句:
SELECT
0 As UserID, '-Select User-' As UsersName, '' As Surname
UNION ALL
SELECT
userID As UserID, userFullName As UsersName,
REVERSE(SUBSTRING(REVERSE([userFullName]), 0, CHARINDEX(' ', REVERSE([userFullName])))) As Surname
FROM
vwSelectUser
ORDER BY
REVERSE(SUBSTRING(REVERSE([userFullName]), 0, CHARINDEX(' ', REVERSE([userFullName]))))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
消息207,级别16,状态1,行6
无效的列名称"userFullName".
消息207,级别16,状态1,行6
无效的列名称"userFullName". 如果语句包含UNION,INTERSECT或EXCEPT运算符,则
消息104,级别16,状态1,行6
ORDER BY项必须出现在选择列表中.
是的,userFullName是一个有效的专栏vwSelectUser
那么最好的方法是分别存储名字和姓氏,但是你得到的东西可以做到这一点:
SELECT * FROM
(
Select 0 As UserID, '-Select User-' As UsersName, CONVERT(VARCHAR(100),'') As Surname
Union All
Select userID As UserID, userFullName As UsersName,
REVERSE(SUBSTRING(REVERSE([userFullName]), 0, CHARINDEX(' ', REVERSE([userFullName])))) As Surname
From vwSelectUser
) AS A
Order By Surname
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |