DELETE B.*
FROM m_productprice B
INNER JOIN m_product C ON B.m_product_id = C.m_product_id
WHERE C.upc = '7094' AND B.m_pricelist_version_id = '1000020'
je reçois l'erreur suivante PostgreSQL 8.2.11
ERROR: syntax error at or near "B"
LINE 1: DELETE B.* from m_productprice B INNER JOIN m_product C ON ...
j'ai essayé de donner
DELETE B from m_productprice B INNER JOIN m_product C ON B....
ERROR: syntax error at or near "B"
j'ai essayé de donner
ERROR: syntax error at or near "INNER"
LINE 1: DELETE from m_productprice B INNER JOIN m_product C ON B.m_...
quel est le problème avec ma requête?
sql
postgresql
mec
la source
la source
INNER JOIN
disponible pour l'instruction DELETE: postgresql.org/docs/8.2/static/sql-delete.htmlRéponses:
ou
la source
Cela a fonctionné pour moi:
la source
Un autre formulaire qui fonctionne avec Postgres 9.1+ combine une expression de table commune avec l'instruction USING pour la jointure.
la source
Si vous avez plusieurs jointures, vous pouvez utiliser des instructions USING séparées par des virgules:
Référence
la source
Utilisez simplement une sous-requête avec INNER JOIN, LEFT JOIN ou smth else:
pour optimiser la requête,
IN
la source