将两列与Union结合在一起



我有一个员工表,有两个列City1,city2。

我想使用Union选择COMBINE 1 COMBINE1,CITY2将其分成单列。

其他任何选项?

将两个字符串连接在一起。您可以使用CONCAT()实现这一目标。在此示例中,我们在两者之间添加了一个空格,可以将其更改为您的需求。

SELECT CONCAT(city1, ' ', city2) as city 
FROM myTable

另外,您可以使用+将字符串加在一起,尽管我建议CONCAT()(如果其中任何一个为null(。

SELECT city1 + ' ' + city2 as city
FROM myTable

如果我们假设OP确实意味着希望结果与UNION相同(我怀疑(,则可以使用VALUES表达式:

SELECT V.City
FROM YourTable YT
     CROSS APPLY (VALUES(YT.City1),(YT.City2)) V(City);
--WHERE V.City IS NOT NULL; --?

使用CONCAT(),您可以将两个列值组合到一个列中,为

SELECT CONCAT(city1, city2) AS City
FROM Employee 

如果要在列之间添加空间,请使用CONCAT(city1, ' ', city2)

最新更新