쿼리질문입니다 ㅜ 0 2 1,167

by 김태성 [SQL Query] [2017.08.08 13:09:53]


1.JPG (30,046Bytes)

제목이 요약이 안되서 죄송합니다.

첨부한 이미지와 같은 검색결과가 있을때.

target_id66을 기준으로 설명하겠습니다,66의경우 결과가 3개 있는데. 이걸 조건처리해서 하나만 얻고 싶습니다.

judgement가 -1이 있으면 -1이있는놈, -1이없고 0이 있으면 0이있는놈,

1만 있으면 1이 있는놈은 결과로 얻고싶습니다.

첨부 이미지에서는 66의경우 -1이 있고, 144는 0만 있기때문에 원하는 결과는

66  -1

144 0

위와같이 되겠습니다.

그냥 프로그램에서 데이터셋으로 루프돌려서 해도 되는데요...sql만으로 해결하는 방법도 있을 것 같아서 공부 겸 여쭤봅니다. 이쪽이 성능상 더 좋을 것 같기도 하구요.

아시는 분 계시면 도움 주시면 감사하겠습니다.

by 마농 [2017.08.08 13:23:18]
SELECT target_id
     , MIN(judgement) judgement
  FROM t
 WHERE target_id IN (66, 144)
 GROUP BY target_id
 ORDER BY target_id
;

 


by 김태성 [2017.08.08 13:40:27]

마농님 항상 감탄하고 갑니다...; 근데 결과를 셀프결합해야 하나 엄청 복잡하게 머리 굴리면서 고민했는데 너무 간단한 해답에 제가 심각하게 멍청한거 아닌가 하는 자괴감이...--;; 열심히 하겠습니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입