Dtos: Rewrite SQL queries to be more efficient
All checks were successful
Test / Run tests (push) Successful in 2m28s
All checks were successful
Test / Run tests (push) Successful in 2m28s
This commit is contained in:
@ -40,12 +40,12 @@ namespace Elwig.Models.Dtos {
|
||||
COALESCE(' ' || m.middle_names, '') || COALESCE(' ' || m.suffix, '') AS name_2,
|
||||
p.plz, o.name AS ort, m.address,
|
||||
c.bucket, c.area, u.min_kg, u.weight
|
||||
FROM member m
|
||||
FROM v_area_commitment_bucket_strict c
|
||||
LEFT JOIN member m ON m.mgnr = c.mgnr
|
||||
LEFT JOIN AT_plz_dest p ON p.id = m.postal_dest
|
||||
LEFT JOIN AT_ort o ON o.okz = p.okz
|
||||
LEFT JOIN v_area_commitment_bucket_strict c ON c.mgnr = m.mgnr AND c.year = {year}
|
||||
JOIN v_under_delivery u ON (u.mgnr, u.bucket, u.year) = (m.mgnr, c.bucket, c.year)
|
||||
WHERE m.active = 1
|
||||
WHERE c.year = {year} AND m.active = 1
|
||||
ORDER BY m.mgnr, c.bucket
|
||||
""").ToListAsync();
|
||||
}
|
||||
|
@ -33,12 +33,12 @@ namespace Elwig.Models.Dtos {
|
||||
m.business_shares * s.min_kg_per_bs AS min_kg,
|
||||
m.business_shares * s.max_kg_per_bs AS max_kg,
|
||||
COALESCE(SUM(d.weight), 0) AS sum
|
||||
FROM member m
|
||||
FROM v_delivery d
|
||||
LEFT JOIN member m ON m.mgnr = d.mgnr
|
||||
LEFT JOIN AT_plz_dest p ON p.id = m.postal_dest
|
||||
LEFT JOIN AT_ort o ON o.okz = p.okz
|
||||
LEFT JOIN season s ON s.year = {year}
|
||||
LEFT JOIN v_delivery d ON d.mgnr = m.mgnr AND d.year = s.year
|
||||
WHERE m.active = TRUE OR d.weight > 0
|
||||
LEFT JOIN season s ON s.year = d.year
|
||||
WHERE s.year = {year} AND (m.active = TRUE OR d.weight > 0)
|
||||
GROUP BY d.year, m.mgnr
|
||||
ORDER BY 100.0 * sum / max_kg, m.mgnr;
|
||||
""").ToListAsync();
|
||||
|
Reference in New Issue
Block a user