사용자가 여러 사진을 가질 수있는 사진 테이블이 있습니다. Doctrine : SELECT MIN 하위 쿼리를 사용하여 UPDATE하는 방법?
나는 다음과 같은 쿼리를 만들려고 해요 :$q = Doctrine_Query::create()
->update('Photo p')
->set('p.photo_type', 1)
->where('p.user_id = ?', $id)
->andWhere('p.date_added = (SELECT MIN(p.date_added) FROM Photo p WHERE p.user_id = ?)', $id)
아이디어가 추가 된 최소 날짜 (초기 사진)가이 사용자의 특정 사진을 1로 "photo_type"을 설정하는 것입니다.
나는 구문을 올바르게 이해할 수없는 것 같습니다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까?
감사합니다.
편집 : 것 같다
나는이 질문 (MySQL Error 1093 - Can't specify target table for update in FROM clause)에 대한 답변에 따라, 할 수없는 일을 할 노력하고있어. 이 질문은 닫을 수 있습니다.
가 수행 MIN 등의 집계 함수를 사용하는 경우? 또한 선택 테이블을 조인으로 변환하거나 테이블 변수 또는 해시 테이블을 사용하여 다시 작성할 수 있습니다 – CarneyCode
먼저 WHERE 절 앞에 GROUP BY date_added를 넣으십시오. – CarneyCode