안녕하세요. 초보자 입니다.
업무중에 로그 하나를 조회해달라는 요청이 왔는데
조건이 조금 어려워서 ㅠ 해메고 있네요.
월 로그테이블이라 테이블이 매우 대용량이라 검색에 시간이 기본적으로 걸립니다.
컬럼 A,B, P1,P2 가 조건이고요.
로그는 특정 액션을 시작할 때 기본적으로 A= 1300, B= 1300 을 저장하고 액션이 완료되면 A= 1300, B= 1301 로그를 저장합니다.
총 2건의 로그가 저장되고요.
요청은...
1.A = 1300, B = 1301 이고 P1과 P2값이 다른 데이터
2. A = 1300,
B = 1300만 있고
A = 1300, B = 1301로그가 없는 데이터
이 두 조건중에 하나라도 속한 데이터를 다 뽑아달라고 하는데 쿼리를 어떻게 짜면 좋을까요.ㅠ
조금 알려주시면 감사하겠습니다.
Comment 3
-
진윤호
2013.03.19 17:06
-
따개비
2013.03.19 17:19
2번은 로그가 2건이 찍히는데.. 1300, 1300 으로 1건 1300,1301 로 1건 이렇게 총 2건이 찍히게 됩니다. 그중에서 1300,1300만 있는 것을 찾아달라는 것 이네요.ㅠ
그리고 1번과 2번 둘중 하나라도 포함되면 뽑아야 하는데 어떻게 합치면 좋을까요?
-
진윤호
2013.03.19 18:55
흠 그래서 말씀드린게 2건중 한건만 찍혔다고 판단하는 기준이 없다는 거지요 p1 과 p2 같을 시 라면 찾을 수 있겠으나
그런 조건이 명시되어 있지 않습니다.
해당 로그가 로그인 로그아웃 시스템인데 로그인을 했는데 로그아웃을 안했다는 이야기 인데요
그렇가면 로그인과 로그아웃이 동시에 충족되는 값이 있어야 한다 머 그런 것이지요
흠 1번 같은 경우는 A와 B가 고정 값이라서 쉬울꺼 같은디
SELECT 1300 AS A ,1301 AS B,P1,P2 FROM 로그테이블 WHERE A=1300 AND B=1301 GROUP BY P1,P2 이걸 말하시는거 아님
SELECT A,B,P1,P2 FROM 로그테이블 WHERE A=1300 AND B=1301 AND P1<>P2 이거 말하시는 건가요?
2번 같은 해당 조건 말고 뒤에 P1과 P2가 같은데 1300 1301이 없는 것 같과 같은 추가 조건이 있어야 할 것 같네요
저 조건으로는 있다 없다는 판단할만한 내용이 없는 듯해요