반응형
선택한 날짜보다 날짜 범위 필터 및 이력이 적은 레코드 선택
선택한 날짜 범위 내에서 고객의 현재 잔액을 표시하고, 날짜 범위 미만의 잔액이 있으면 이전 잔액도 추가해야 합니다.
단일 쿼리 내에서 이를 달성할 수 있는 방법은 무엇입니까?지금은 왼쪽 조인으로 하고 있습니다.현재 사용 사례는 Apache Superset에서 데이터 범위만 선택하고 보고서에 날짜 필터 미만의 날짜로 현재 균형 및 이전 균형 기록이 표시되는 것입니다.
두 데이터셋 모두 동일한 엔티티에서 고객 ID에 가입되어 있습니다.이 아이디어는 고객이 지불해야 하는 모든 이전 잔액과 선택한 날짜 범위를 표시하는 것입니다.예를 들어 2023-01-01에서 2023-01-01 사이의 날짜를 선택하면 쿼리는 선택한 날짜 범위 내의 고객 잔액과 함께 2023-01-01 이전의 날짜가 표시됩니다.
SELECT *
FROM (
SELECT *
FROM balance
WHERE DATE >= '2022-01-01'
AND DATE <= '2022-01-10'
) A
LEFT JOIN (
SELECT *
FROM balance
WHERE DATE < '2022-01-01'
) B ON A.customerID = B.customerID )
사실 당신은 3개의 쿼리로 그것을 하고 있습니다!Current용 1개, 이전용 1개, 결과 조합용 1개!간단한 조인으로 하나의 쿼리를 사용하여 할 수 있습니다!
SELECT *
FROM balance A
LEFT JOIN balance B ON A.cid = B.cid
WHERE A.DATE BETWEEN '2022-01-01' AND '2022-01-10'
AND B.DATE < '2022-01-01'
언급URL : https://stackoverflow.com/questions/76012564/select-records-with-date-range-filter-and-history-less-than-date-selected
반응형
'programing' 카테고리의 다른 글
SQL Server 테이블에 "마지막으로 수정" 및 "생성" 열을 추가하려면 어떻게 해야 합니까? (0) | 2023.09.10 |
---|---|
Microsoft Visual Studio 2013의 WinForms에서 엔티티 프레임워크 6 for MySql(C#) 활성화 (0) | 2023.09.10 |
Jupyter 노트북에는 두마리의 판다 테이블이 나란히 전시되어 있습니다. (0) | 2023.09.10 |
ASP를 연결합니다.NET to Amazon RDS MariaDB (0) | 2023.09.10 |
XML의 앰퍼샌드가 HTML의 엔티티로 렌더링되도록 하려면 어떻게 해야 합니까? (0) | 2023.09.10 |