조건이 충족되면 테이블을 업데이트해야합니다. 제 경우에는 (제목 별 게시물 그룹에서 제목으로 count (title) 선택)> 1.
이것은 작동하지 않는 내 쿼리이며 무엇을 해야할지 알 수 없습니다.
UPDATE posts SET text= CASE
WHEN (select count(title) as title from posts group by title) > 1 THEN 'Y' ELSE 'N'
END
WHERE id <=8;
내가 여기서 뭘 잘못하고 있니? 미리 감사드립니다.
쿼리의 문제 group by
는 스칼라 하위 쿼리에가 있다는 것 입니다. 이로 인해 스칼라 하위 쿼리에 대해 여러 행이 생성되어 오류가 발생합니다. 테이블의 레이아웃을 모르지만 상관 된 하위 쿼리를 사용하고 싶을 수도 있습니다.
UPDATE posts p
SET text = (CASE WHEN (select count(title) from posts p2 where p.title = p2.title) > 1
THEN 'Y'
ELSE 'N'
END)
WHERE id <= 8;
편집하다:
다음을 사용하여이 쿼리를 표현할 수도 있습니다 join
.
UPDATE posts p join
(select title, count(*) as cnt
from posts p
group by title
) pt
on p.title = pt.title
set p.test = (case when cnt > 1 then 'Y' else 'N' end)
where id <= 8
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다