커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
inner join과 특정 필드값만 선택하고 싶을때
[왕초보] 엑셀보다 쉬운, SQL v3
기타
북마크
신*솔
댓글
6
추천
0
조회수
13
조회수
13
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.

수업을 마치고, 실제 업무 데이터를 활용하고 있습니다.

문의사항이 있어 글남깁니다.


meshid, node1, node2가 같을 때,


조건

1.danEDITDAT이 null이 아닐 때,

2 danEDITDAT 날짜가 최신인 레코드만 선택

3.날짜가 같고, danLMT_VAL 값이 다르면 각각 다른값 선택





스파르타 즉문즉답




작성한 코드 및 에러 메세지

SELECT AA.MESHID, AA.NODE1, AA.NODE2

FROM danger_1_5 as AA

where AA.danEDITDAT is not null

inner join (

select MESHID, NODE1, NODE2, max(danEDITDAT) as abc

from danger_1_5 

group by MESHID, NODE1, NODE2

) AB on AA.MESHID = AB.MESHID and AA.NODE1 = AB.NODE2 and AA.NODE2 = AB.NODE2 and AA.danEDITDAT = AB.abc


우선 여기까지 작성했는데,

meshid, node1, node2가 같을 때, danEDITDAT 최신인 값을 가져오는 쿼리를 작성해보았습니다.

근데 아무리해도 여기서부터 에러가 계속 발생하는데, 쿼리식의 구문 오류라며, 마지막 AB.abc에서 커서가 움직입니다. ㅠㅠ

각 조건에 맞게 case 구문으로 들어가야할거같은데 막막하여 도움을 구할수있을까 문의 글 남깁니다.











오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴