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'
saya mendapatkan kesalahan PostgreSQL 8.2.11 berikut
ERROR: syntax error at or near "B"
LINE 1: DELETE B.* from m_productprice B INNER JOIN m_product C ON ...
saya mencoba memberi
DELETE B from m_productprice B INNER JOIN m_product C ON B....
ERROR: syntax error at or near "B"
saya mencoba memberi
ERROR: syntax error at or near "INNER"
LINE 1: DELETE from m_productprice B INNER JOIN m_product C ON B.m_...
apa masalah dengan permintaan saya?
sql
postgresql
kawan
sumber
sumber
INNER JOIN
tersedia untuk pernyataan DELETE: postgresql.org/docs/8.2/static/sql-delete.htmlJawaban:
atau
sumber
Ini bekerja untuk saya:
sumber
Bentuk lain yang berfungsi dengan Postgres 9.1+ adalah menggabungkan Common Table Expression dengan pernyataan USING untuk bergabung.
sumber
Jika Anda memiliki lebih dari satu bergabung, Anda dapat menggunakan pernyataan USING yang dipisahkan koma:
Referensi
sumber
Cukup gunakan subquery dengan INNER JOIN, LEFT JOIN atau apalah yang lain:
untuk mengoptimalkan kueri,
IN
sumber