Что нужно дописать в запросе ? sql (PostgreSQL 14)

столкнулся с такой проблемой, есть запрос в таблицу:

SELECT source, object, hostname, ip_addres, Status, mac_address, serial_number, worker, owner, redirect, plata_no_repair, plata_removed, model, comment 
FROM svodka1 EXCEPT 
SELECT source, object, hostname, ip_addres, Status, mac_address, serial_number, worker, owner, redirect, plata_no_repair, plata_removed, model, comment  
FROM svodka2

Он проверят отличие с 1 таблицей и со 2 таблицей. Но Есть точно такая же 3 таблица с такими столбцами. И мне надо в нее записывались результаты( я так понял при помощи UPDATE). Но я запутался и не пойму что надо в конце дописать чтобы все это заработало.


Ответы (1 шт):

Автор решения: Сергей

Работаю с mySQL, там бы (если бы он EXCEPT поддерживал) я сделал так, как ниже, - просто вписал бы в таблицу svodka3 таблицу с получившимися результатами. В принципе, должен и на PostgreSQL 14 такой вариант отработать, проверьте. По крайней мере, документации не противоречит.

INSERT INTO svodka3 (source, object, hostname, ip_addres, Status, mac_address, serial_number, worker, owner, redirect, plata_no_repair, plata_removed, model, comment) 
/*Ниже - ваш текст без изменений, только в скобках на случай конфликта с EXCEPT*/
(SELECT source, object, hostname, ip_addres, Status, mac_address, serial_number, worker, owner, redirect, plata_no_repair, plata_removed, model, comment 
FROM svodka1 EXCEPT 
SELECT source, object, hostname, ip_addres, Status, mac_address, serial_number, worker, owner, redirect, plata_no_repair, plata_removed, model, comment  
FROM svodka2)

Через UPDATE + SET больше возни, на мой взгляд.

→ Ссылка