2017-12-13 8 views
0

나는 파생 테이블로 정의했다고

UPDATE customers SET customers.discount = 0.3 
FROM customers INNER JOIN 
(
SELECT customers.customer_id, SUM(clothingitem.price) AS Total FROM `customerorderstoclothingitem` 
INNER JOIN customerorders ON customerorderstoclothingitem.orderid = customerorders.orderid 
INNER JOIN customers ON customers.customer_id = customerorders.customerid 
INNER JOIN clothingitem ON clothingitem.clothingItemID = customerorderstoclothingitem.clothingitemid 
GROUP BY customers.customer_id 
) dTable ON dTable.Total > 300 AND customers.customer_id = dTable.customer_id 

을하지만 오류가 발생합니다 2 행에서 내 구문이 잘못되어 어떤 이유로 든 JOIN이 오류를 발생시키고 있음을 의미합니다. 선택 오류를 일으키지 않고 예상대로 실행될 때 오류가 업데이트 섹션에서 발생해야한다고 생각합니다.

+1

귀하의 업데이트 쿼리가 공통 테이블 표현식을 지원하지 않습니다 MySQL의에 이해가되지 않습니다. 파생 테이블이 있고 업데이트하려는 경우 직접 작성하십시오. –

+0

파생 테이블을 기반으로 고객 테이블을 업데이트하려고합니다. 일반적인 언어에서는 다음과 같습니다. 파생 테이블에 cutomer_id가 있으면 0.3으로 할인을 설정합니다. – Sammi3

답변

0

직접 다음과 같이 파생 테이블과 고객 테이블에 가입 할 수 있습니다 :

UPDATE customers INNER JOIN (
    // Your SELECT query for derived table 
) dTable ON customers.customer_id = dTable.dTable.customer_id 
SET customers.discount = 0.3