Changes between Version 53 and Version 54 of AdvancedReports


Ignore:
Timestamp:
08/31/24 00:05:04 (4 weeks ago)
Author:
184006
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports

    v53 v54  
    394394    visit_percentage DESC;
    395395}}}
     396
     397
     3982. За секој корисник покрај неговото име и email, да се испечати email_Provider, вкупниот број на миленици кои што ги поседува корисникот, колку од нив се мачиња а колку кучиња и дали корисникот има посетено ветеринарен центар во Skopje. 
     399'''''Резултантна шема: (name, email, email_provider, total_pets, total_cats, total dogs, visited_vet_center_in_skopje)'''''
     400{{{
     401SELECT
     402    u.name,
     403    u.email,
     404    CASE
     405        WHEN u.email LIKE '%@yahoo.com' THEN 'yahoo'
     406        WHEN u.email LIKE '%@gmail.com' THEN 'gmail'
     407        WHEN u.email LIKE '%@hotmail.com' THEN 'hotmail'
     408        ELSE 'other'
     409    END AS email_provider,
     410    COUNT(DISTINCT p.ID) AS total_pets,  -- Вкупно животни, избегнувајќи дуплирања
     411    SUM(CASE WHEN tp.kind_of_pet = 'Cat' THEN 1 ELSE 0 END) AS total_cats,  -- Вкупно мачки
     412    SUM(CASE WHEN tp.kind_of_pet = 'Dog' THEN 1 ELSE 0 END) AS total_dogs,  -- Вкупно кучиња
     413    CASE
     414        WHEN EXISTS (
     415            SELECT 1
     416            FROM pets_visit_vet_centers pv
     417            JOIN vet_centers vc ON pv.id_vet_centers = vc.ID
     418            JOIN cities c ON vc.citiesid = c.ID  -- Поврзување со табелата cities
     419            WHERE pv.id_pets IN (SELECT ID FROM pets WHERE usersID = u.ID)
     420            AND c.name = 'Skopje'  -- Проверка за Скопје
     421        ) THEN TRUE
     422        ELSE FALSE
     423    END AS visited_vet_center_in_skopje
     424FROM
     425    users u
     426LEFT JOIN
     427    pets p ON u.ID = p.usersID
     428LEFT JOIN
     429    type_of_pets tp ON p.typeofpetsid = tp.ID  -- Поврзување со табелата type_of_pets
     430GROUP BY
     431    u.ID, u.email;
     432}}}