2013-05-17 2 views
4

인사는 업데이트를 시작해야합니다 .. 수, 오류 지원

SELECT 
    tA.id, count(*) c 
FROM 
    tA 
     join 
    tA ON tB.id = tA.id 
where 
    tA.id = 5 
GROUP BY tA.id 
having c > 1; 

나는 많은 관계형 모델을 가지고있다. 하지만이 카운트 'C'는 제 1 선택 카운트

의 결과 인 것으로 가정 업데이트

UPDATE tA 
     join 
    tA ON tB.id = tA.id 
set 
    cnt = 5; 

의 카운트를 포함 할 필요가있을 수있다 ....

UPDATE tA 
     join 
    tA ON tB.id = tA.id 
set 
    cnt = (SELECT 
      count(*) c 
     FROM 
      tA 
       join 
      tA ON tB.id = tA.id 
     WHERE 
      tA.id = 5 
     GROUP BY tA.id 
     having c > 1); 

이 열은`어떤 테이블에 속하는 cantidad` 않습니다 .. 쿼리 구문도 지원 말할

+0

을 thnk? 'cnt'? –

+0

@ geronimo76. . . 'tB'를 사용하고 아무 데나 정의되지 않았기 때문에 모든 쿼리가 정확하지 않습니다. 질문을 해결할 수 있습니까? –

+0

cnt는 테이블 A의 열입니다. – geronimo76

답변

1
UPDATE tA 
     INNER JOIN 
     (
      SELECT tA.id, COUNT(*) totalCount 
      FROM tA INNER JOIN tB ON tB.id = tA.id 
      WHERE tA.id = 5 
      GROUP BY tA.id 
      HAVING COUNT(*) > 1 
     ) b ON tA.id = b.id 
SET  tA.cnt = b.totalCount 
+0

감사합니다. .. 당신은 최고입니다. – geronimo76

+0

기꺼이 도와주었습니다. –