728x90
SMALL
- 원하는 쿼리
- airborne(측정지점)의 각 fclt_sn(측정시설)가 갖고있는 가장 작은값의 airb_sn(측정지점 일련번호)를 가져와airb_sn만큼 loop를 돌리고,
2022-08-16 09:00부터 2022-08-17 00:00까지 1분단위로 측정시간대를 설정해준다
- airborne(측정지점)의 각 fclt_sn(측정시설)가 갖고있는 가장 작은값의 airb_sn(측정지점 일련번호)를 가져와airb_sn만큼 loop를 돌리고,
- 문제 및 해결
- '행에 있는 루프의 루프 변수는 레코드 변수이거나 스칼라 변수의 목록이어야 함'이라는 오류가 떠서 declare로 int변수를 설정해줌
- 최종쿼리
do $$
declare
airb int;
begin
for airb in select min(airb_sn) from airborne group by fclt_sn
loop
INSERT INTO msur_info_sku_ab_1 (airb_sn ,msur_date)
select
airb
,series
from generate_series('2022-08-16 09:00'::timestamp, '2022-08-17 00:00'::timestamp, '1 minutes') AS series
;
end loop;
end;
$$;
commit;
- 위에서 지정해주지 못한 fclt_sn을 airborne 마스터 테이블을 활용하여 update시켜준다
update msur_info m
set fclt_sn = a.fclt_sn
from airborne a
where a.airb_sn = m.airb_sn
728x90
LIST
'DB > Postgresql' 카테고리의 다른 글
[postgresql]데이터베이스 용량확인, 스키마 별 용량확인 (0) | 2022.09.27 |
---|---|
[PostgreSQL] 테이블 정의서 쿼리 (0) | 2022.08.30 |
[postgresql] 현재시간, 시간 yyyy-mm-dd hh24:mi:ss 등으로 포맷하여 변환하기, interval 사용하여 현재시간보다 10분전 조회 (0) | 2022.08.04 |
[postgresql]generate_series를 활용해 해당 날짜로 더미데이터 만들기 (0) | 2022.08.03 |
[postgresql]해당 범위의 랜덤한 숫자를 소수점 둘째자리수까지 뽑기, How to Generate a Random Number in a Range (0) | 2022.08.03 |
댓글