Выполнение внутреннего соединения с использованием Django для двух таблиц - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть две таблицы QUEUE и MESSAGE.Отношение - одна очередь ко многим сообщениям.Таблица Queue имеет поле SEQ, которое напрямую связано с полем QUEUE в таблице сообщений.

Таким образом, поле QUEUE является внешним ключом в таблице QUEUE, которое ссылается на поле первичного ключа SEQ, которое находится в таблице QUEUE.

Я хочу получать сообщения в очереди с определенным статусом и определенным возрастом в минутах (рассчитывается по дате_создания и текущему времени), а набор результатов должен содержать сообщение с именем очереди

Таким образом, представленияследующим образом:

Поля таблицы очередей : SEQ, NAME

Поля таблицы сообщений : MSG_NO, QUEUE,STATUS1, DATE_CREATED

Мне нужно выбрать два сообщения в таблице сообщений за последние 12 часов и включить INNER JOIN Имя очереди в результаты: enter image description here

Я хочу получить аналогичный результат, используя 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

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