SQL команда два слияния - PullRequest
0 голосов
/ 26 мая 2018

Я новичок в SQL.

У меня есть таблица, как показано ниже:

EMP_NUMBER ATTDATE     ATTTIME
00001      01-05-2018   9:00
00001      01-05-2018   18:00
00001      02-05-2018   8:00
00001      02-05-2018   20:00

Теперь я хочу использовать запрос SQL выше даты таблицы, чтобы создать таблицу в следующем формате:

EMP_NUMBER   ATTDATE      ATTINTIME    ATTOUTTIME
00001        01-05-2018    9:00         18:00
00001        02-05-2018    8:00          20:00

1 Ответ

0 голосов
/ 26 мая 2018

Здесь должен работать простой запрос GROUP BY:

SELECT
    EMP_NUMBER,
    ATTDATE,
    MIN(ATTTIME) AS ATTINTIME,
    MAX(ATTTIME) AS ATTOUTTIME
FROM yourTable
GROUP BY
    EMP_NUMBER,
    ATTDATE;

Примечание. В этом ответе предполагается, что ваши данные о дате и времени находятся в фактических столбцах datetime и time.Если нет, то вы работаете непосредственно с текстом, и он не будет правильно сортироваться.В качестве временного средства защиты вы можете использовать STR_TO_DATE.Например, вы можете преобразовать столбец ATTTIME в нужное время, используя это:

STR_TO_DATE(ATTTIME, '%H:%i')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...