У меня есть следующая таблица
name1 | name2 -------+-------- ishi | python ishi | scala ishi | java sangee | java sangee | c#
Мне нужен вывод как
name ---------------- ishi : python ishi : scala ishi : java sangee : java sangee : c#
Как объединить два столбца как один, соединенный двоеточием :?
:
С ответом на ваш ответ на предыдущий вопрос , использование функции CONCAT() даст ожидаемый результат:
CONCAT()
select CONCAT(st.name1, ' : ', dm.name2) AS name from mainpk ms join student st on st.id1 = ms.id1 join domain dm on dm.id2 = ms.id2
или с помощью оператора конкатенации строк ||
||
select st.name1 || ' : ' || dm.name2 AS name ....
Для этого можно использовать concat_ws():
concat_ws()
select concat_ws(' : ', name1, name2) as name from the_table;
concat_ws() будет правильно обрабатывать значения NULL и пустые строки (в отличие, например, name1||' : '||name2)
name1||' : '||name2