选择多个列,并从另一个列中选择一个有条件的列



我有这样一个表,例如:

<表类> ID 名称 城市猫tbody><<tr>1αdola杜2βmola苏3ζdola胡
SELECT T.ID,T.NAME,
CASE
WHEN T.CITY='DOLA' THEN T.CAT
ELSE ''
END AS XX 
FROM YOUR_TABLE AS T

你需要这个吗?

如果您使用的是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

假设表的名称为Table1,您可以尝试以下查询

SELECT A.ID, A.name, B.City, B.cat
from Table1 A
Left Outer Join Table1 B
ON A.ID=B.ID AND B.city='dola';

最新更新