Как объединить две извлеченные колонки? - PullRequest
1 голос
/ 07 июня 2019

Мне нужно отобразить общее время в днях и часах, когда кто-то зарегистрировался.

Приведенный ниже код создает переменные в отдельных столбцах без идентификаторов, кроме заголовка столбца.Я также могу создать столбец, который отображает общее количество часов.

select id, fname, lname, othertablevariable,
extract(day from diff) Days,
extract(hour from diff) Hours
from(
select id, fname, lname, othertablevariable,
(CAST(checkout as timestamp)-CAST(checkin as timestampe)) diff
from table t1, table t2
where t1.id=t2.id);

Вывод выглядит как:

id fname lname days hours

Однако я хочу, чтобы столбец дней и столбец часов были единым целымколонка.

В идеале он может отображаться как 4 days 3 hours.Это возможно?

Ответы [ 2 ]

2 голосов
/ 07 июня 2019

Вы можете использовать внутренний запрос для его достижения.Проверьте ответ ниже:

select id, ..., Days || Hours ConcatenatedColumn
from
(
    select id, fname, lname, othertablevariable,
    extract(day from diff) Days,
    extract(hour from diff) Hours
    from(
    select id, fname, lname, othertablevariable,
    (CAST(checkout as timestamp)-CAST(checkin as timestampe)) diff
    from table t1, table t2
    where t1.id=t2.id)
)
1 голос
/ 07 июня 2019

Этого можно добиться с помощью функции CONCAT():

select id, fname, lname, othertablevariable,
       CONCAT(extract(day from diff), ' days ', extract(hour from diff), ' hours') AS dayshours
from (
....

Результат будет X days Y hours

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