У меня есть две таблицы QUEUE и MESSAGE.Отношение - одна очередь ко многим сообщениям.Таблица Queue имеет поле SEQ, которое напрямую связано с полем QUEUE в таблице сообщений.
Таким образом, поле QUEUE является внешним ключом в таблице QUEUE, которое ссылается на поле первичного ключа SEQ, которое находится в таблице QUEUE.
Я хочу получать сообщения в очереди с определенным статусом и определенным возрастом в минутах (рассчитывается по дате_создания и текущему времени), а набор результатов должен содержать сообщение с именем очереди
Таким образом, представленияследующим образом:
Поля таблицы очередей : SEQ
, NAME
Поля таблицы сообщений : MSG_NO
, QUEUE
,STATUS1
, DATE_CREATED
Мне нужно выбрать два сообщения в таблице сообщений за последние 12 часов и включить INNER JOIN Имя очереди в результаты:
Я хочу получить аналогичный результат, используя Django ORM, необработанный запрос ниже:
SELECT m.msg_no, q.seq, To_Char(m.date_created,'yyyy/mm/dd hh24:mi:ss'), To_Char(SYSDATE-30/1440,'yyyy/mm/dd hh24:mi:ss'), q.name, Round((round(SYSDATE - m.date_created,5)*1440),1) AS msg_age
FROM message m
INNER JOIN queue q ON m.queue = q.seq
WHERE m.date_created > To_Date(To_Char(SYSDATE,'yyyymmdd')||'050000', 'yyyymmddhh24miss')
And m.date_created < (SYSDATE - 30/1440)
AND m.status1 = 0
AND m.direction = 0