我需要编写一个将列出所有客户端的选择,但是如果客户端的状态为 1 或 2,它应该用*
之前的名称标记该客户端。它应该看起来像
Vasya Pupkin
* Masha Pupkina
选择看起来像
select FirstName + ' '+ LastName, Address, DOB
from Clients
Order By FirstName
这意味着玛莎是活跃的客户。花了将近 2 个小时在互联网上搜索,但找不到任何有用的东西。因为这里提出的问题。
我需要编写一个将列出所有客户端的选择,但是如果客户端的状态为 1 或 2,它应该用*
之前的名称标记该客户端。它应该看起来像
Vasya Pupkin
* Masha Pupkina
选择看起来像
select FirstName + ' '+ LastName, Address, DOB
from Clients
Order By FirstName
这意味着玛莎是活跃的客户。花了将近 2 个小时在互联网上搜索,但找不到任何有用的东西。因为这里提出的问题。
select (case when status in (1, 2) then '* ' else '' end) + FirstName + ' '+ LastName, Address, DOB
from Clients
Order By FirstName
您需要依靠使用该CASE
结构来检查状态字段。
使用SQL Fiddle上的示例数据检查此功能齐全的代码
SELECT (CASE
WHEN status IN (1, 2) THEN '* '
ELSE ''
END) + FirstName + ' '+ LastName as Client_List
FROM Clients
ORDER BY FirstName
数据:
[id] [status] [FirstName] [LastName]
1 3 Vasya Pupkin
2 2 Masha Pupkina
3 3 Sasha Alexeivich
4 1 Katya Alexeivna
结果:
CLIENT_LIST
* Katya Alexeivna
* Masha Pupkina
Sasha Alexeivich
Vasya Pupkin
编辑 哎哟!为时已晚,muhmud 的答案是正确的