ФорумРазработкаБазы данных → Сложный запрос

Сложный запрос

  • armageddance

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 3 декабря 2011 г. 5:38

    Совсем мозг сломал в процессе реализации сложного запроса к бд. Выручайте.

    Таблица users (user_id, city) city - идентификатор города
    Таблица city - (city_id, city_name) - id города и название
    Profiles - (profile_id, user_id) таблица связи профилей и пользователей, один user может иметь несколько profile
    Надо выдать "список городов - количество профилей пользователей" где количество профилей пользователей больше одного

    SELECT city_name, count(profile.profile_id) as profile_count
    FROM profiles INNER JOIN users INNER JOIN city WHERE users.user_id=profiles.profile_id
    and city.city_id=users.city HAVING profile_count>=1 ORDER BY profile_count DESC
    не выдает некоторые города.
    Что не так?
  • artoodetoo

    Сообщения: 5139 Репутация: N Группа: в ухо

    Spritz 3 декабря 2011 г. 6:16, спустя 38 минут 16 секунд

    что-то я не вижу фразы GROUP BY, как оно без групбая может работать? :D

    как-то так:
    SELECT cities.city_name, count(*) AS profile_count
    FROM
    cities INNER JOIN
    users ON users.city_id=cities.id INNER JOIN
    profiles ON profiles.user_id=users.id
    GROUP BY cities.city_name
    HAVING profile_count > 1
    ORDER BY profile_count DESC

    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!