programing

제외 레코드 데이터에 대한 SQL 쿼리

copyandpastes 2023. 9. 3. 18:12
반응형

제외 레코드 데이터에 대한 SQL 쿼리

일부 레코드 데이터 제외 쿼리를 찾는 데 도움이 필요합니다.내 데이터는 다음과 같습니다.

Pin      Device          Date Time
1         A-in           01/01/2023 10.00
1         B-Out          01/01/2023 10.30
2         B-in           01/01/2023 11.00
2         A-Out          01/01/2023 11.30
3         C-In           01/01/2023 13.00

핀에 대한 장치가 'In'이지만 'Out'이 아닌 행을 표시하려고 합니다. 위의 예에서 핀 3은 'C-In'이지만 'C-out'은 없습니다.

Pin      Device          Date Time
3         C-In           01/01/2023 13.00

도와주셔서 고맙습니다.

당신은 그것들을 가져올 수 있습니다.*-in나중에 존재하지 않는 행*-Out행:

select * 
from pins p
where p.Device like '%-in' and not exists (
  select * 
  from pins o
  where trim(trailing '-Out' from o.Device)=trim(trailing '-in' from p.Device) and o.Device like '%-Out' 
  and o.DateTime>=p.DateTime
)

dbfidle을 참조하십시오.

참고로 데이터에서B-in뒤에 오는B-Out따라서 결과 집합에 포함됩니다.

언급URL : https://stackoverflow.com/questions/76152079/sql-query-for-exclude-records-data

반응형