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'
Otrzymuję następujący błąd 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 ...
próbowałem dawać
DELETE B from m_productprice B INNER JOIN m_product C ON B....
ERROR: syntax error at or near "B"
próbowałem dawać
ERROR: syntax error at or near "INNER"
LINE 1: DELETE from m_productprice B INNER JOIN m_product C ON B.m_...
na czym polega problem z moim zapytaniem?
sql
postgresql
koleś
źródło
źródło
INNER JOIN
DELETE nie jest dostępna: postgresql.org/docs/8.2/static/sql-delete.htmlOdpowiedzi:
lub
źródło
To działało dla mnie:
źródło
Inną formą współpracującą z Postgres 9.1+ jest łączenie wspólnego wyrażenia tabelowego z instrukcją USING dla złączenia.
źródło
Jeśli masz więcej niż jedno sprzężenie, możesz użyć instrukcji USING oddzielonych przecinkami:
Odniesienie
źródło
Wystarczy użyć podzapytania z INNER JOIN, LEFT JOIN lub cokolwiek innego:
aby zoptymalizować zapytanie,
IN
źródło