집 >데이터 베이스 >MySQL 튜토리얼 >두 SQL 테이블 사이의 겹치는 시간 간격을 찾는 방법은 무엇입니까?
SQL에서 두 테이블 사이의 겹치는 시간 간격 찾기
시작 및 종료 시간 필드가 포함된 두 테이블이 있는 데이터베이스에서는 이 작업이 필요한 경우가 많습니다. 시간 간격이 교차하는 행을 식별합니다. 이 질문은 WHERE 절을 사용하여 SQL Server 2005에서 이러한 중복을 효율적으로 찾는 솔루션을 제공합니다.
해결책:
다음 쿼리를 사용하여 중복 시간을 찾을 수 있습니다. table1과 행 사이의 간격 table2:
SELECT * FROM table1,table2 WHERE table2.start <= table1.end AND (table2.end IS NULL OR table2.end >= table1.start)
설명:
쿼리는 JOIN 조건을 사용하여 두 테이블의 시간 간격을 비교합니다. WHERE 절은 두 가지 조건을 사용합니다.
이 WHERE 절은 행 2의 시간 간격이 행 1의 시간 간격과 교차하는지 여부를 효과적으로 결정합니다. 조인을 사용하면 쿼리가 행을 효율적으로 검색합니다. 그러한 중복이 존재하는 두 테이블 모두에서.
위 내용은 두 SQL 테이블 사이의 겹치는 시간 간격을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!