2

我需要编写一个将列出所有客户端的选择,但是如果客户端的状态为 1 或 2,它应该用*之前的名称标记该客户端。它应该看起来像

  Vasya Pupkin 
* Masha Pupkina

选择看起来像

select FirstName + ' '+ LastName, Address, DOB
from Clients 
Order By FirstName 

这意味着玛莎是活跃的客户。花了将近 2 个小时在互联网上搜索,但找不到任何有用的东西。因为这里提出的问题。

4

2 回答 2

3
select (case when status in (1, 2) then '* ' else '' end) + FirstName + ' '+ LastName, Address, DOB
from Clients 
Order By FirstName
于 2013-02-27T08:36:58.317 回答
3

您需要依靠使用该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 的答案是正确的

于 2013-02-27T08:47:24.660 回答