Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Кол-во новых сообщений от пользователя / 3 сообщений из 3, страница 1 из 1
30.04.2016, 17:21
    #39228044
dok11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во новых сообщений от пользователя
Здравствуйте.

Имеем 4 таблицы:
Остави
1. Пользователи (2 группы. Гостиница и Агентство)
Гостиница имеет базы, Агентство может выбрать с какими базами работать.
USERS:
id | name | group_id

2. Базы отдыха
BASE:
id | user_id | name | geo

3. Базы которые выбрало Агентство
BASE_FOR_AGENCY:
user_id | base_id

4. Таблица сообщений между пользователями
MESSAGES:
id | user_from | user_to | message | dateTime | new

1. Поучаем все Агентства которые работают с Гостиницой ID 30
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT `users`.`name`
FROM `users`
JOIN `base` ON `base`.`id_user` = "30"
JOIN `base_for_agency` ON `base_for_agency`.`id_base` = `base`.`id`
WHERE `users`.`id` = `base_for_agency`.`id_user`
GROUP BY `users`.`id`
LIMIT 100


ОК с эти проблем нет.

Не получается подтянуть в результат кол-во новых от Агентства сообщений (ПОЛЕ new = 1) из таблицы MESSAGES
То есть? можно ли в результат добавить:
Код: sql
1.
2.
3.
SELECT count(*)
FROM `messages`
WHERE `user_to` = "30" AND `new` = 1 AND от Агентств которые получаем в запросе выше



Спасибо.
...
Рейтинг: 0 / 0
01.05.2016, 05:35
    #39228156
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во новых сообщений от пользователя
dok11BASE_FOR_AGENCY:
user_id | base_id dok11
Код: sql
1.
ON `base_for_agency`.`id_base` =

мелочь, а неприятно.

dok11То есть? можно ли в результат добавить:
Код: sql
1.
2.
3.
SELECT count(*)
FROM `messages`
WHERE `user_to` = "30" AND `new` = 1 AND от Агентств которые получаем в запросе выше

элементарно
Код: sql
1.
2.
3.
4.
5.
6.
SELECT `users`.`name`
 ,(SELECT count(*)
  FROM `messages`
  WHERE `user_to` = 30 AND `new` = 1 AND `user_from`=`users`.`id`
 ) as new_msg_count
FROM `users` ...
...
Рейтинг: 0 / 0
01.05.2016, 06:13
    #39228158
dok11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во новых сообщений от пользователя
tanglir Спасибо.

tanglirэлементарно

DEPENDENT SUBQUERY...

Если я правильно понял, то позапрос в секции SELECT будет выполнен для каждого результата выборки основного...
То есть имея 1 млн. записей в результате (по users) - будет выполнено столько же подзапросов - чёт как то печально ))
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Кол-во новых сообщений от пользователя / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]