一尘不染

从另一列中选择许多列和具有条件的列

sql

例如,我有这张表:

ID name city cat
1 alpha dola du
2 beta mola su
3 zeta dola hu

期望的结果:

选择所有 ID、所有名称,但仅选择来自列 cat 的数据,其中列 city = ‘dola’,否则为空白


阅读 81

收藏
2022-07-21

共2个答案

一尘不染

如果您使用的是 SQL Server 2012 及以上版本,您可以使用IIF()

SELECT Id, Name, IIF(City = 'dola', Cat, '') AS Cat
FROM yourTable

你也可以使用CASE Statement

SELECT Id, Name, Case When City = 'dola' Then Cat ELSE '' END AS Cat
FROM yourTable
2022-07-21
一尘不染

SELECT T.ID,T.NAME,
CASE
  WHEN T.CITY='DOLA' THEN T.CAT
 ELSE ''
END AS XX 
FROM YOUR_TABLE AS T

你需要这个吗?

2022-07-21