How to concatenate columns properly using T-SQL?

前端 未结 6 1947
时光说笑
时光说笑 2020-12-05 14:11

I have a address in more than one column in a table.

SELECT FirstName, LastName, StreetAddress, City, Country, PostalCode 
FROM Client

I a

6条回答
  •  不思量自难忘°
    2020-12-05 14:59

    You could use Case-Expression.

    create table #Client(
    FirstName varchar(20), 
    LastName varchar(50), 
    StreetAddress varchar(50), 
    City varchar(20), 
    Country varchar(20), 
    PostalCode varchar(20)
    )
    insert into #Client(FirstName,LastName,StreetAddress,City,Country,PostalCode)values('Jeff','Bridges','Street1','City1','US','12345')
    insert into #Client(FirstName,LastName,StreetAddress,City,Country,PostalCode)values('Steven','Baldwin','Street2','City2','US','12345')
    insert into #Client(FirstName,LastName,StreetAddress,City,Country,PostalCode)values('Barack','Obama','Street3',NULL,'US','12345')
    insert into #Client(FirstName,LastName,StreetAddress,City,Country,PostalCode)values('Nora','Jones','Street4','City4','US','12345')
    
    SELECT FirstName, LastName,
    (CASE WHEN City IS NULL AND StreetAddress IS NULL THEN '' 
          WHEN City IS Null AND StreetAddress IS NOT NULL Then StreetAddress 
          WHEN City IS NOT Null AND StreetAddress IS NOT NULL THEN StreetAddress + ',' + City END
    )AS Adress, Country, PostalCode 
    FROM #Client
    
    drop table #Client
    

提交回复
热议问题