PgAdmin4 продолжает возвращать: ОШИБКА: синтаксическая ошибка в или около "IN" - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть запрос, который обновляет все записи в моей таблице, и значения внутри каждого столбца должны совпадать c с моей другой таблицей, поэтому я создал этот запрос:

UPDATE dashboard.event SET operation_start_time IN 
(SELECT operation_start FROM dashboard.inventory), operation_end_time IN 
(SELECT operation_end FROM dashboard.inventory) 
WHERE terminal_id IN (SELECT terminal_id FROM dashboard.inventory)

, но проблема postgres продолжайте возвращать мне "ОШИБКА: синтаксическая ошибка в или около" IN ", в которой я не понимаю, почему. Если я поставлю «=» вместо «IN», он вернет мне ошибку:

ОШИБКА: более одной строки, возвращенной подзапросом, используемым в качестве выражения

Для логики c из эти запросы. У меня есть таблица инвентаризации, и в ней есть имя столбца operation_start и operation_end. Я хочу, чтобы данные в этих столбцах обновлялись или вставлялись в таблицу событий для каждого Terminal_id

. Любая помощь будет оценена, пожалуйста. Спасибо!

1 Ответ

1 голос
/ 09 апреля 2020

Если вы хотите обновить столбцы в event с inventory для данного terminal_id, синтаксис будет выглядеть следующим образом:

UPDATE dashboard.event e
    SET operation_start_time = e.operation_start,
        operation_end_time = e.operation_end
    FROM dashboard.inventory i
    WHERE e.terminal_id = i.terminal_id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...