| | 396 | |
| | 397 | |
| | 398 | 2. За секој корисник покрај неговото име и email, да се испечати email_Provider, вкупниот број на миленици кои што ги поседува корисникот, колку од нив се мачиња а колку кучиња и дали корисникот има посетено ветеринарен центар во Skopje. |
| | 399 | '''''Резултантна шема: (name, email, email_provider, total_pets, total_cats, total dogs, visited_vet_center_in_skopje)''''' |
| | 400 | {{{ |
| | 401 | SELECT |
| | 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 |
| | 424 | FROM |
| | 425 | users u |
| | 426 | LEFT JOIN |
| | 427 | pets p ON u.ID = p.usersID |
| | 428 | LEFT JOIN |
| | 429 | type_of_pets tp ON p.typeofpetsid = tp.ID -- Поврзување со табелата type_of_pets |
| | 430 | GROUP BY |
| | 431 | u.ID, u.email; |
| | 432 | }}} |