Объединить две колонки в одну колонку без объединения - PullRequest
0 голосов
/ 08 мая 2019

У меня есть таблица сотрудников с двумя столбцами city1, city2.

Я хочу выбрать объединение city1, city2 в один столбец без использования union.

Любой другой вариант для этого?

Ответы [ 3 ]

2 голосов
/ 08 мая 2019

Соедините две строки вместе. Вы можете использовать CONCAT() для достижения этой цели. В этом примере мы добавляем пробел между ними, это можно изменить в соответствии с вашими потребностями.

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

В качестве альтернативы вы можете использовать + для объединения строк, хотя я рекомендую CONCAT() (в случае, если какая-либо из них пуста).

SELECT city1 + ' ' + city2 as city
FROM myTable
1 голос
/ 08 мая 2019

Если мы предположим, что ОП действительно означает, что хотят получить результаты так же, как UNION (в чем я сомневаюсь), то вы можете использовать выражение VALUES:

SELECT V.City
FROM YourTable YT
     CROSS APPLY (VALUES(YT.City1),(YT.City2)) V(City);
--WHERE V.City IS NOT NULL; --?
0 голосов
/ 08 мая 2019

Используя CONCAT(), вы можете объединить два значения столбца в один столбец как

SELECT CONCAT(city1, city2) AS City
FROM Employee 

Если вы хотите добавить пробел между значениями столбца, используйте CONCAT(city1, ' ', city2)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...