Я пытаюсь написать процедуру для обновления двух таблиц, но я немного застрял в синтаксисе.
Таблицы названы SupportTicketsTbl
и tblSupportEvent
, связь между этими таблицами - третья таблица с именемtblTicketsInEvents
.
tblSupportEvent
содержит список всех событий в расписании лиц, каждое событие имеет время начала и окончания, эта процедура выполняется как задание sql и проверяет, больше ли текущее времячем время окончания события, и если это так, он обновляет свой статус.
Теперь синтаксис для этого прост:
UPDATE
tblSupportEvent
SET
[status] = 3
WHERE
eventend < CURRENT_TIMESTAMP
AND
[status] = 1
Теперь вот моя проблема, событие связано с заявкойпоэтому, когда событие, связанное с заявкой, истекает, я хочу установить для билетов, присвоенных значение, значение 0. 0. 1014 *
Этот запрос SELECT
показывает взаимосвязь между таблицами:
SELECT
*
FROM
tblSupportEvent e
JOIN
tblTicketsInEvents tie
ON
e.id = tie.eventID
JOIN
SupportTicketsTbl t
ON
t.TicketID = tie.ticketID
Чтобы решить эту проблему, я могу выбрать все идентификаторы билетов с истекшим сроком действия в таблице, а затем обновить SupportTicketsTbl
, где идентификатор билета находится в моей табличной переменной, хотя это выглядит немного грязно.Есть ли лучший способ сделать это с помощью оператора обновления / объединений и т. Д.?
Я спрашиваю, потому что, хотя я могу решить проблему самостоятельно, и он, вероятно, будет работать достаточно быстро, чтобы узнать правильный способ сделать это.
Спасибо