Beste tweakers,
Ik zit met een query waar ik niet uitkom. Ik heb onderstaande tabel en zou onderstaand resultaat willen hebben.
De kolom Enforcement_date is niet altijd gevuld, toch zou ik indien deze per subname willen vergelijken/tellen. Dus bij subname A-1 is de Enforcement_date bij 1 van de 3 regels gevuld. Ik zou dan vervolgens al die 3 regels willen vergelijken of de datum in Returned < is dan de datum bij Enforcement_date (count: Returned < Enforcement_date)
Daarnaast zou ik ook de Enforcement_date + maand willen bereken en vervolgens deze maand willen vergelijken met de datum bij returned (count: Returned < Enforcement_date+1)
Ik zit met een query waar ik niet uitkom. Ik heb onderstaande tabel en zou onderstaand resultaat willen hebben.
De kolom Enforcement_date is niet altijd gevuld, toch zou ik indien deze per subname willen vergelijken/tellen. Dus bij subname A-1 is de Enforcement_date bij 1 van de 3 regels gevuld. Ik zou dan vervolgens al die 3 regels willen vergelijken of de datum in Returned < is dan de datum bij Enforcement_date (count: Returned < Enforcement_date)
Daarnaast zou ik ook de Enforcement_date + maand willen bereken en vervolgens deze maand willen vergelijken met de datum bij returned (count: Returned < Enforcement_date+1)
ID | Projectname | Subname | Exp_return_date | Returned | Enforcement_date |
1 | A | A-1 | 1-4-2023 | 28-1-2023 | |
2 | A | A-1 | 1-4-2023 | 01-05-2023 | |
3 | A | A-1 | 1-4-2023 | 28-4-2023 | |
4 | A | A-2 | 1-7-2023 | 10-08-2023 | 02-08-2023 |
5 | A | A-2 | 1-7-2023 | 28-06-2023 | |
6 | A | A-2 | 1-7-2023 | 02-08-2023 | |
7 | B | B-1 | 1-3-2023 | 04-04-2023 | 01-04-2023 |
8 | B | B-1 | 1-3-2023 | 02-03-2023 | |
9 | B | B-2 | 1-6-2023 | 28-05-2023 | |
10 | B | B-2 | 1-6-2023 | 03-06-2023 |
Project | Subname | ED | Count | <= Exp_return_date | < enformcement_date | Enforcement_date_+1_month | None |
A | A-1 | 01-05-2023 | 3 | 1 (all before 01-04-2023) | 2 (all before 01-05-2023) | 2 (all before 01-06-2023) | 1 |
A | A-2 | 02-08-2023 | 3 | 1 (all before 01-07-2023) | 1 (all before 02-08-2023) | 2 All before (02-09-2023) | 1 |
B | B-1 | 01-04-2023 | 2 | 0 (all before 01-03-2023) | 1 (all before 01-04-2023 | 2 All before 01-05-2023) | 0 |
B | B-2 | 2 | 1 (all before 01-06-2023) | 0 |
code:
1
2
3
4
5
6
7
8
9
10
11
| SELECT [Project], [Subname], MIN(Enforcement_date) as ‘ED’, COUNT(*) as 'Count', COUNT(case when Returned <= Exp_return_date then 1 else null end) as ‘<= Exp_return_date’, COUNT(case when Returned <= Enforcement_date then 1 else null end) as ‘< Enformcement_date’, -> didn’t works, Enforcement_date is not always entered. COUNT(case when Returned <= Enforcement_date+1month then 1 else null end) as ‘< Enformcement_date’, -> how can I calculated this? COUNT(case when Returned <> '' then 1 else null end) as ‘None’ FROM ******* GROUP BY [Project], [Subname] |