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,
|
COALESCE(' ' || m.middle_names, '') || COALESCE(' ' || m.suffix, '') AS name_2,
|
||||||
p.plz, o.name AS ort, m.address,
|
p.plz, o.name AS ort, m.address,
|
||||||
c.bucket, c.area, u.min_kg, u.weight
|
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_plz_dest p ON p.id = m.postal_dest
|
||||||
LEFT JOIN AT_ort o ON o.okz = p.okz
|
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)
|
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
|
ORDER BY m.mgnr, c.bucket
|
||||||
""").ToListAsync();
|
""").ToListAsync();
|
||||||
}
|
}
|
||||||
|
@ -33,12 +33,12 @@ namespace Elwig.Models.Dtos {
|
|||||||
m.business_shares * s.min_kg_per_bs AS min_kg,
|
m.business_shares * s.min_kg_per_bs AS min_kg,
|
||||||
m.business_shares * s.max_kg_per_bs AS max_kg,
|
m.business_shares * s.max_kg_per_bs AS max_kg,
|
||||||
COALESCE(SUM(d.weight), 0) AS sum
|
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_plz_dest p ON p.id = m.postal_dest
|
||||||
LEFT JOIN AT_ort o ON o.okz = p.okz
|
LEFT JOIN AT_ort o ON o.okz = p.okz
|
||||||
LEFT JOIN season s ON s.year = {year}
|
LEFT JOIN season s ON s.year = d.year
|
||||||
LEFT JOIN v_delivery d ON d.mgnr = m.mgnr AND d.year = s.year
|
WHERE s.year = {year} AND (m.active = TRUE OR d.weight > 0)
|
||||||
WHERE m.active = TRUE OR d.weight > 0
|
|
||||||
GROUP BY d.year, m.mgnr
|
GROUP BY d.year, m.mgnr
|
||||||
ORDER BY 100.0 * sum / max_kg, m.mgnr;
|
ORDER BY 100.0 * sum / max_kg, m.mgnr;
|
||||||
""").ToListAsync();
|
""").ToListAsync();
|
||||||
|
Reference in New Issue
Block a user