0
안녕하세요 친구 나는 SQL 서버에서 작은 의심을 가지고 여기에 조건에 따라 데이터를 원합니다. 동일한 ID와 상태가 같은 경우 해당 날짜 값은 입니다. EMPfdate 및 tdate 범위에서 날짜 레코드를 확인하는 방법
id |status |date(mm-dd-yy) |fdate(mm-dd-yy) |tdate(mm-dd-yy)
1 | S |03-16-11 | |
1 | b | | 03-15-11 |03-18-11
1 | s |03-17-11 | |
1 | b | | 04-20-12 |04-30-12
1 | S |04-20-12 | |
1 | s |04-10-12 | |
1 | s |10-01-14 | |
1 | b | |10-02-14 |10-25-14
2 | s |01-18-12 | |
2 | b | |01-18-12 |01-28-12
2 | b | |03-10-13 |03-24-13
2 | s |03-16-13 | |
2 | s |03-10-13 | |
2 | s |03-23-13 | |
2 | b | |04-20-13 |04-27-13
2 | s |07-01-14 | |
테이블 (상태 = s의 ID, 일자) 상태 = B, 동일한 ID 번호와 날짜 (상태 (S)에서 날짜 값)과 비교 : 표
SQL 서버에 쿼리를 작성하여 날짜 범위는 fdate와 tdate입니다. 범위에서 다음
id |status |date(mm-dd-yy) |fdate(mm-dd-yy) |tdate(mm-dd-yy) |Billing
1 | S |03-16-11 | | |yes
1 | s |03-17-11 | | |yes
1 | S |04-20-12 | | |yes
1 | s |04-10-12 | | |no
1 | s |10-01-14 | | |no
2 | s |01-18-12 | | |yes
2 | s |03-16-13 | | |yes
2 | s |03-10-13 | | |yes
2 | s |03-23-13 | | |yes
2 | s |07-01-14 | | |no
같은 다른 현명한 결제 예 아니오
출력을 청구하지와 데이터 i가 그 exactely 결과를주지
select *
from (select * from emp a where status ='s') a
inner join (select * from emp b where status='b') b
on a.pn=b.pn
where a.date<=b.date1 and a.date>=b.date2
아래와 같이 질의하려고하는 경우. SQL 서버에서 쿼리를 작성하는 방법을 알려주십시오.