호출상태 테이블
1 호출대기
2 배차중
3 배차실패
4 배차전 취소(승객)
5 배차완료
6 배차후 취소(승객,기사)
7 10분후 도착
8 곧 도착(2분이내)
9 차량도착
10 탑승
11 하차완료
저런 호출상태 테이블이 있습니다
컬럼은 단순하게 오토로 만들어지는 인덱스, 상태값 번호(1~11), 상태설명 글자
이렇게 3개로 구성이 될것 같은데요...
이걸 어떻게 만들어야 하는지 모르겠습니다..
왜냐면 현재 시간에서 도착까지 10분 남은 경우와 2분 남은 경우 이런게 존재하는데...
어떻게 이걸 만들어야 하는지 모르겠습니다..
그리고 이 호출상태 테이블을 만들고 이걸 예약테이블에서 가져와서 써야 합니다.
저 상태값 번호를 외래키로 잡아서 가져옵니다.
이건 그냥 일반적인 이너조인을 해서 가져오면 되나요?
어렵네요.... ㅠㅠ
이 테이블들을 쓰는 경우에 대해서 더 자세한 설명을 덧붙이자면
콜택시에 사용하는 디비구조 입니다.
1번은
- 단순한 방식은 약속시간 - 현재 시간으로 계산해서 자바스케줄또는 db스케줄로 insert방법 이건 약속을 안 지키면 문제가 발생 할 수도 있습니다.
- 차량과 인터페이스(gps장치등)을 이용해 거리별 시간을 계산해서 상테값은 넣는방식인데.
이건 미팅을 통해서 해결 하셔야겠네요.
전에 저는 정문에 차량 출입 data를 5분단위로 인터페이스를 받아서 상태변경 했습니다.
2번
select *
from 예약테이블 a
, ( select *
, row_number( partition by 키 order by 상태값변경일자 desc ) as rn
from 호출상태 테이블
) b
Where b.rn = 1 (최신상태추출)
and a.키 = b.키
일반적인 방법으로 저는 사용합니다.