我有一个雇员表,其中有两列city1,city2。
我想选择不使用联合将city1,city2合并为单列。
还有其他选择吗?
答案 0 :(得分:2)
将两个字符串连接在一起。您可以使用CONCAT()
来实现。在此示例中,我们在两者之间添加了一个空格,可以根据您的需要进行更改。
SELECT CONCAT(city1, ' ', city2) as city
FROM myTable
或者,尽管我建议使用+
(如果它们中的任何一个为空),也可以使用CONCAT()
将字符串连接在一起。
SELECT city1 + ' ' + city2 as city
FROM myTable
答案 1 :(得分:1)
如果我们假设OP确实意味着希望以与UNION
相同的方式获得结果(我对此表示怀疑),则可以使用VALUES
表达式:
SELECT V.City
FROM YourTable YT
CROSS APPLY (VALUES(YT.City1),(YT.City2)) V(City);
--WHERE V.City IS NOT NULL; --?