-2
상황이 'A'인 대부분의 ID의 레코드 만 선택하고 싶습니다.마지막 레코드 선택
레코드에 상황 ID가 더 많은 경우 = 'C'는 아무 것도 반환 할 수 없습니다.
어떻게 하시겠습니까?
상황이 'A'인 대부분의 ID의 레코드 만 선택하고 싶습니다.마지막 레코드 선택
레코드에 상황 ID가 더 많은 경우 = 'C'는 아무 것도 반환 할 수 없습니다.
어떻게 하시겠습니까?
select * from tabela a where
a.id not in (select max(b.id) from tabela b where b.fk=a.fk and b.situacao='A')
이 같은 아마 뭔가. 내부 쿼리는 단지
C
인 모든 ma4idoco를 가져오고 모든 쿼리를 먼저 제외합니다. 내가 정확하게 질문을 이해한다면 동일한 ma4idoco와 ma4idsit = 'A'를 가진 여러 행이있을 수 있지만 최대 ma4idode를 원한다.
SELECT MAX(a.ma4idode),
a.ma4idoco,
a.ma4idsit
FROM tablea a
WHERE a.ma4idoco NOT IN (SELECT b.ma4idoco FROM tablea b WHERE b.ma4idsit = 'C')
AND a.ma4idsit = 'A'
GROUP BY a.ma4idoco, a.ma4idsit
이것은 분명하지 않습니다. 상황이 어떻게 A와 C가 될 수 있습니까? –
원하는 출력으로 샘플 데이터를 추가하는 방법 –
MA4IDODE는 ID (PK)입니다. MA4IDOCO는 FK입니다. MA4IDSIT는 상황입니다. – nori