новые сообщения
ответы на мои сообщения
избранное
скрытые темы
случайный топик
открыть всё в новых вкладках
Форум → Разработка → Базы данных → Сложный запрос
Сложный запрос
-
Совсем мозг сломал в процессе реализации сложного запроса к бд. Выручайте.
Таблица 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
не выдает некоторые города.
Что не так? -
3 декабря 2011 г. 15: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ι унц-унц
Пожалуйста, авторизуйтесь, чтобы написать комментарий!