Скачано в текущем месяце MySQL запрос

Технические вопросы по UTM 5.0
Ответить
Makariy
Сообщения: 227
Зарегистрирован: Ср авг 27, 2008 14:08

Скачано в текущем месяце MySQL запрос

Сообщение Makariy »

раньше смотрел вот таким запросом:

Код: Выделить всё

SELECT inet_ntoa(4294967295 & dt.ipid), atl.tariff_id, dt.bytes, sl.account_id
   FROM dtagg_iptraffic dt, service_links sl, account_tariff_link atl
   WHERE dt.is_closed = 0
   AND dt.bytes != 0
   AND dt.tclass = 30
   AND dt.slink_id = sl.id
   AND sl.is_deleted=0
   AND dt.base_cost=0
   AND atl.is_deleted=0
   AND atl.account_id=sl.account_id
GROUP by dt.bytes;
работает быстро, все хорошо

Теперь понадобилось смотреть абонентов отдельно по группам

собрал такой запрос:

Код: Выделить всё

SELECT inet_ntoa(4294967295 & dt.ipid), atl.tariff_id, dt.bytes, sl.account_id, users_groups_link.group_id
   FROM dtagg_iptraffic dt, service_links sl, account_tariff_link atl, users_groups_link, users
   WHERE dt.is_closed = 0
   AND dt.bytes != 0
   AND dt.tclass = 30
   AND dt.slink_id = sl.id
   AND sl.is_deleted=0
   AND dt.base_cost=0
   AND atl.is_deleted=0
   AND atl.account_id=sl.account_id
  AND users_groups_link.user_id=users.id
 AND users_groups_link.group_id=302
GROUP by dt.bytes;
Результат - тормозит вся база, вешается админка, значения не верные

Как правильно приклеить users_groups_link.group_id к предыдущему запросу?

dk
Сообщения: 424
Зарегистрирован: Чт авг 10, 2006 08:52

Сообщение dk »

Добавлять таблицы через LEFT JOIN:

Код: Выделить всё

FROM ((...) 
LEFT JOIN users_accounts ON atl.account_id = users_accounts.account_id )
LEFT JOIN users_groups_link ON users_accounts.uid=users_groups_link.user_id

Ответить