가장 최근 값 확인 0 2 686

by 김동훈 [SQL Query] [2022.02.25 15:36:20]


 

A

user dt power
a 2022-01-01 10
a 2022-01-03 5
a 2022-01-04 15
a 2022-01-05 14

 

 

B

user dt power
a 2022-01-01 10
a 2022-01-02 10
a 2022-01-03 5
a 2022-01-04 15
a 2022-01-05 14
a 2022-01-06 14
a 2022-01-07 14

 

 

 

A에 4개의 데이터만 있을때 B는 일자별로 데이터가 순차적으로 생성되고

A에 날짜가 매핑되는 power값을 가져오는데 해당 날짜가 없을경우 그 날짜 이전 가장 최근 데이터를 가져오려고 하는데 방법이 있을까요?

by 마농 [2022.02.28 08:06:20]

1. 질문이 좀 모호합니다.
- B 에 7개의 일자가 이미 있는 상태에서 power 값만 채우는 건가요?
- 아니면 B 에 아무것도 없는 상태에서 기간(from~to)을 입력받아 A 를 이용해 B 를 만드는 건가요?
- 특정 유저를 대상으로 조회하는 건지?
- 전체 유저를 대상으로 조회하는 건지?
2. DB 종류가 뭔가요?
- DB 종류 및 버전 알려주세요.


by 돈보 [2022.03.31 16:00:58]

ㅇ B 테이블 user , dt 기준으로 최종 A테이블의 Power 정보를 취하는 SQL

    아래는 해당 기준일의 A테이블의 최종일을 산출하고 , 해당 최종일의 power를 가져오는 것으로 구현해 보았습니다.

     ( 최종일 테이블 AA 는  A 테이블 자신 입니다. )

  추신) 다를 여러가지 방법도 다양하게 많이있습니다. ^^

select B.user , b.dt ,

        ( select A.power from A

           where A.user = b.user

               and A.dt = ( select max(AA.dt) from AA where AA.user = B.user and AA.dt <= B.dt ) 

        ) 

   from B

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