我有一个员工表,有两个列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)