0
나는 UID 필드, "연구 중"필드 (0 또는 1) 및 텍스트 필드가있는 테이블이 있습니다. 텍스트 입력란에는 많은 중복 문자가 있습니다.행 그룹의 고유 인스턴스 업데이트
내가 정말 원하는 것은select "text.original", min(UID) from tblHashtags group by "text.original" order by min(UID);
그러나 모든에서 "연구"필드를 업데이트하는 한 줄이 : 지금까지 나는 텍스트 필드의 첫 번째 인스턴스를 선택하는 방법을 알아 낸 레코드를 위에서 1로 반환했습니다. 그리고 나서이 선택을 반전하여 다른 모든 레코드를 0으로 업데이트 할 수 있으면 매우 좋을 것입니다. 나는 아마 간단한 것을 놓치고 있지만 불행히도 SQL을 가지고 자주 놀지는 않습니다.
편집 추가 : 이것에 대해 더 많은 노력을 기울 였으니이 작업을 수행하는 데 도움이되었으므로 한 줄짜리는 신경 쓰지 않아도됩니다. 지금까지 할 수있는 최선의 방법은 다음과 같습니다.
update tblHashtags set "instudy"=1 where (select "text.original", min(UID) from tblHashtags group by "text.original" order by min(UID));
Error: only a single result allowed for a SELECT that is part of an expression
도움이 되었습니까?
감사합니다. "IN 절에서 단일 열 결과 집합을 사용할 수 있습니다."분명히 멀리 떨어져있는 맛있는 이야기입니다. – verbsintransit