이런 테이블이 있어요
ID|Incident_ID|Emp_No|Status |
__|___________|______|_________|
1 | 1 |1001 |Approved |
2 | 1 |1002 |Approved |
3 | 2 |1003 |Approved |
4 | 2 |1004 |Pending |
5 | 3 |1005 |Pending |
6 | 3 |1006 |Pending |
이제 모든 상태가 특정 사건 ID에 대해 승인 된 경우 Incident_ID 및 상태 열 기반 출력을 원합니다. 그러면 여기에 표시되어야합니다. 1은 모든 상태가 accident_ID = 1에 대해 승인되었으므로 세 개의 사건 ID 중 1 개가 표시되어야합니다.
내 검색어 :
select Incident_ID, Status from tbl_Investigation_Review where Status = 'Approved' group by Incident_ID, Status
하지만 두 가지가 모두 표시됩니다.
데이터 그룹을 현명하게 필터링하려면 having
대신 where
사용하고 집계 함수를 사용 sum()
하여 모든 열이 조건에 적용되는지 확인해야합니다.
select Incident_ID
from tbl_Investigation_Review
group by Incident_ID
having sum(case when Status <> 'Approved' then 1 else 0 end) = 0
이 having
조항 status
은 귀하의 사고에 대해 다른 것이 없는지 확인합니다 .
approved
인시던트 만 원하면 .NET 의 쿼리 출력에 추가 할 필요가 없습니다 select
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다