1) table
date | type | unit |
2022-09-01 | 입고 | 3 |
2022-09-01 | 입고 | 5 |
2022-09-01 | 출고 | -1 |
2022-09-02 | 입고 | 7 |
2022-09-03 | 출고 | -3 |
2022-09-03 | 입고 | 8 |
2)
date | unit |
2022-09-01 | 7 |
2022-09-02 | 14 |
2022-09-03 | 19 |
안녕하세요, 1) 테이블을 통해 2) 결과 값을 구하고 싶습니다.
단순히
Select date, sum(unit) from table group by date
를 하고 싶으나, 회사 데이터 성격상 해당 쿼리를 적용할 수 없습니다.
정확한 데이터를 추출하기 위해선
select date, sum(unit) from table where date < '2022-09-01' group by date
select date, sum(unit) from table where date < '2022-09-02' group by date
select date, sum(unit) from table where date < '2022-09-03' group by date
각 쿼리의 결과값이 union all 되어야합니다.
그래서 with recursive 문에 변수를 써서 where 범위를 점점 확장시키는 쿼리를 만들려고 했습니다.
찾아보니 다 select 에서만 변수를 사용하고 where 절에는 종료 조건만 넣는 듯하여 사용할 수 있는지도 의문이 듭니다.
1. with recursive 문에 where 절에 변수를 넣을 수 없나요?
2. 혹시 결과값을 얻기 위해 적합한 방안이 떠오르시다면 말씀 부탁 드립니다.
마지막 평일 금요일인데, 구루비 회원님들 모두 파이팅하시길 바랍니다.
감사합니다.
원하시는 결과는
select date, sum(unit) from table group by date 쿼리로 나오는데 왜 해당 쿼리를 사용할 수 없는지요?
select date, sum(unit) from table where date < '2022-09-01' group by date
select date, sum(unit) from table where date < '2022-09-02' group by date
select date, sum(unit) from table where date < '2022-09-03' group by date
를 union all 한 결과는 원하시는 결과 데이터가 안 나와요. 아래와 같이 나오겠네요.
2022-09-01 7
2022-09-01 7
2022-09-02 7