我需要写一个select,它将列出所有的客户端,但是这里的技巧是,如果客户端的状态是1或2,它应该在名称之前用*标记这个客户端。它应该看起来像
Vasya Pupkin
* Masha Pupkinaselect看起来像
select FirstName + ' '+ LastName, Address, DOB
from Clients
Order By FirstName 这意味着Masha是主动客户端。花了将近2个小时在互联网上搜索,但找不到任何有用的东西。因为这里有个问问题。
发布于 2013-02-27 16:47:25
您需要依靠CASE structure的使用来检查状态字段。
使用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编辑哦!太晚了,穆赫穆德的答案是正确的
发布于 2013-02-27 16:36:58
select (case when status in (1, 2) then '* ' else '' end) + FirstName + ' '+ LastName, Address, DOB
from Clients
Order By FirstNamehttps://stackoverflow.com/questions/15107439
复制相似问题