Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- INSERT INTO _rijderslijst
- WITH kmstanden_rang AS (
- WITH kmstanden_grouped AS (
- SELECT
- k.fiets_id,
- MAX(k.kmstand) AS kmstand,
- MAX(k.datum) AS kmstand_datum,
- CASE WHEN MAX(k.datum) - MIN(k.datum) = 0
- THEN 0
- ELSE
- ROUND(
- CAST(MAX(k.kmstand) AS BIGINT) * 2628000 /
- (EXTRACT(EPOCH FROM MAX(k.datum)) - EXTRACT(EPOCH FROM MIN(k.datum)))
- )
- END AS kmstand_gemiddeld
- FROM kmstanden k GROUP BY k.fiets_id ORDER BY kmstand DESC
- ) SELECT nextval('_rang_seq') - 1 AS rang, k.* FROM kmstanden_grouped k, setval('_rang_seq', 1)
- )
- SELECT
- f.fiets_id,
- k.rang,
- t.type,
- f.nr,
- v.variant,
- f.afleverdatum,
- f.rijder_id,
- (SELECT fok.kleur
- FROM fietsen_onderdelen_kleuren fok
- LEFT JOIN kleuronderdelen ko ON ko.onderdeel = fok.onderdeel
- WHERE ko.frontendkleur = 'kleur1'::frontendkleur
- AND fok.fiets_id = f.fiets_id)
- AS kleur1,
- (SELECT fok.kleur
- FROM fietsen_onderdelen_kleuren fok
- LEFT JOIN kleuronderdelen ko ON ko.onderdeel = fok.onderdeel
- WHERE ko.frontendkleur = 'kleur2'::frontendkleur
- AND fok.fiets_id = f.fiets_id)
- AS kleur2,
- (SELECT fok.kleur
- FROM fietsen_onderdelen_kleuren fok
- LEFT JOIN kleuronderdelen ko ON ko.onderdeel = fok.onderdeel
- WHERE ko.frontendkleur = 'kleur3'::frontendkleur
- AND fok.fiets_id = f.fiets_id)
- AS kleur3,
- k.kmstand,
- k.kmstand_datum,
- r.naam,
- r.woonplaats,
- r.land AS land,
- r.provincie AS provincie,
- r.aantal_fietsen,
- CASE WHEN r.email_is_prive = false THEN r.email ELSE NULL END AS email,
- r.website,
- k.kmstand_gemiddeld AS km_gemiddeld,
- l.landnaam AS landnaam,
- p.provincienaam AS provincienaam,
- EXTRACT(EPOCH FROM CURRENT_TIMESTAMP) AS timestamp
- FROM fietsen f
- LEFT JOIN rijders r ON f.rijder_id = r.rijder_id
- LEFT JOIN varianten v ON v.variant_id = f.variant_id
- LEFT JOIN types t ON t.type_id = v.type_id
- LEFT JOIN landen l ON r.land = l.code
- LEFT JOIN provincies p ON p.code = r.provincie
- LEFT JOIN kmstanden_rang k ON f.fiets_id = k.fiets_id;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement