Вы не можете присоединиться к FROM
из DELETE
s в Postgres.
Если вы хотите удалить всю строку из stock_picking sp
с company_id
из 1
и все соответствующие строки из stock_pack_operation
, вы можете использовать cte с предложением RETURNING
.
WITH cte
(
DELETE FROM stock_picking sp
WHERE sp.company_id = 1
RETURNING sp.id
)
DELETE FROM stock_pack_operation spo
USING cte
WHERE spo.picking_id = cte.id;
Если вы хотите удалить все строки из stock_pack_operation
, где picking_id
- это одна из id
s из stock_picking
для компании с идентификатором 1
, вы можете использовать USING
.
DELETE FROM stock_pack_operation spo
USING stock_picking sp
WHERE spo.picking_id = sp.id
AND sp.company_id = 1;