[SQL] 내부 조인으로 삭제 PostgreSQL을
SQL내부 조인으로 삭제 PostgreSQL을
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'
나는 다음과 같은 오류 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 ...
내가주는 시도
DELETE B from m_productprice B INNER JOIN m_product C ON B....
ERROR: syntax error at or near "B"
내가주는 시도
ERROR: syntax error at or near "INNER"
LINE 1: DELETE from m_productprice B INNER JOIN m_product C ON B.m_...
내 쿼리의 문제는 무엇인가?
해결법
-
==============================
1.
DELETE FROM m_productprice B USING m_product C WHERE B.m_product_id = C.m_product_id AND C.upc = '7094' AND B.m_pricelist_version_id='1000020';
또는
DELETE FROM m_productprice WHERE m_pricelist_version_id='1000020' AND m_product_id IN (SELECT m_product_id FROM m_product WHERE upc = '7094');
-
==============================
2.이것은 나를 위해 일한 :
이것은 나를 위해 일한 :
DELETE from m_productprice WHERE m_pricelist_version_id='1000020' AND m_product_id IN (SELECT m_product_id FROM m_product WHERE upc = '7094');
-
==============================
3.조인에 대한 포스트 그레스 9.1+와 작품은 USING 문에 공통 테이블 식을 결합되는 또 다른 형태.
조인에 대한 포스트 그레스 9.1+와 작품은 USING 문에 공통 테이블 식을 결합되는 또 다른 형태.
WITH prod AS (select m_product_id, upc from m_product where upc='7094') DELETE FROM m_productprice B USING prod C WHERE B.m_product_id = C.m_product_id AND B.m_pricelist_version_id = '1000020';
-
==============================
4.당신이 더 많은 경우 하나는 문을 사용하여 분리 쉼표를 사용할 수 있습니다 가입보다 :
당신이 더 많은 경우 하나는 문을 사용하여 분리 쉼표를 사용할 수 있습니다 가입보다 :
DELETE FROM AAA AS a USING BBB AS b, CCC AS c WHERE a.id = b.id AND a.id = c.id AND a.uid = 12345 AND c.gid = 's434sd4'
참고
-
==============================
5.단지 내부 조인과 함께, LEFT가 가입 또는 다른 떨어지게 하위 쿼리를 사용합니다 :
단지 내부 조인과 함께, LEFT가 가입 또는 다른 떨어지게 하위 쿼리를 사용합니다 :
DELETE FROM m_productprice WHERE m_product_id IN ( SELECT B.m_product_id 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' )
쿼리를 최적화하는,
from https://stackoverflow.com/questions/11753904/postgresql-delete-with-inner-join by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] MySQL은 '스키마를 생성'과 '데이터베이스를 만드는'- 어떤 차이가 있나요 (0) | 2020.06.21 |
---|---|
[SQL] 또 다른 하나의 필드에서 하나 개의 테이블의 SQL 업데이트 필드 (0) | 2020.06.21 |
[SQL] 어떻게 SQL Server 사용자 정의 함수에서 오류를보고하는 방법 (0) | 2020.06.21 |
[SQL] SQL 쿼리에서 그룹화 COUNT의 SUM (0) | 2020.06.21 |
[SQL] 3 개 이상의 테이블이 포함 된 경우 작품을 가입하는 방법을 이해. [SQL] (0) | 2020.06.21 |