Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Нужно вывести данные в интервале времени  [new]
Дерзкая булка
Member

Откуда: Москва
Сообщений: 7
Даны три таблицы ST_ABONENTS, QRY_QUEUE, QRY_TYPE.
нужно вывести набор данных, которые вошли в интервал времени с 9,00 до 18,00. я составила код, который работает замечательно без строчки
WHERE TO_CHAR(QRY_QUEUE.C_IN_TIME, 'hh:mm:ss') > '09:00:00' . когда отдельно пробовала вывести интервал времени с одной таблицей без объединения, все получалось замечательно. сейчас не работает

[src]select ST_ABONENTS.C_NAME as ABONENTNAME, QRY_QUEUE.C_ST , count(*) as "CNT"
from qry_type

inner join ST_ABONENTS
on ST_ABONENTS.ID=QRY_TYPE.C_AB_REF
inner join QRY_QUEUE
on QRY_TYPE.ID=QRY_QUEUE.C_QRY_TYPE

GROUP by ST_ABONENTS.C_NAME, QRY_QUEUE.C_ST
order by ST_ABONENTS.C_NAME
WHERE TO_CHAR(QRY_QUEUE.C_IN_TIME, 'hh:mm:ss') between '08:00:00' and '18:00:00'
;

К сообщению приложен файл. Размер - 13Kb
7 окт 17, 22:52    [20851472]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести данные в интервале времени  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 8624
Дерзкая булка,

1. WHERE должен располагаться до GROUP BY и ORDER BY.
2. HH это 12-ти часовой формат. Тебе-же нужен HH24
3. MM это месяц. Тебе-же нужен MI - минуты.
4. Так с 9:00 до 18:00 или с 8:00 до 18:00? Буду считaть с 8:00 до 18:00 как в коде. И cкорее всего 8:00 до 18:00 это по 17:59:59 включительно:

SELECT  ST_ABONENTS.C_NAME as ABONENTNAME,
        QRY_QUEUE.C_ST,
        count(*) as CNT 
  FROM      QRY_TYPE 
        INNER JOIN
            ST_ABONENTS
          ON ST_ABONENTS.ID = QRY_TYPE.C_AB_REF
        INNER JOIN
            QRY_QUEUE
          ON QRY_TYPE.ID=QRY_QUEUE.C_QRY_TYPE
  WHERE TO_CHAR(QRY_QUEUE.C_IN_TIME,'HH24:MI:SS') BETWEEN '08:00:00' AND '17:59:59'
  GROUP by ST_ABONENTS.C_NAME,
           QRY_QUEUE.C_ST
  ORDER BY ST_ABONENTS.C_NAME
/


SY.
7 окт 17, 23:29    [20851516]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести данные в интервале времени  [new]
Дерзкая булка
Member

Откуда: Москва
Сообщений: 7
SY,
спасибо огромное, все работает
7 окт 17, 23:48    [20851551]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить