|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Yura Yaschenko 2:4643/10 21 Mar 2002 17:42:59 To : All Subject : Запрос MySQL --------------------------------------------------------------------------------
Прошу прощения, что сюда, но как бы больше некуда.
Помогите пожалуйста составить запрос для MySQL.
Есть 2 таблицы: T1(f1 int), T2(f1 int, f2 int)
Hадо составить запрос, который отбирал бы все записи из T1, где текущее
значение T1.f1 умножается поочередно на T2.f2 для всей таблицы T2 и
сравнивается с соответсвующим значением T2.f1.
Реальная задача - В одной таблице содержатся IP адреса в числовом
(INET_ATON('a.b.c.d')) виде. В другой таблице содержатся номера сетей и их
маски в том же виде. Hадо узнать, принадлежит ли текущий адрес из первой
таблицы к любой из сетей в другой таблице. При этом делается INNER JOIN
адреса с третьей таблицей и используется HAVING:
- ------------
SELECT
uid,
date,
sum(accounting.data_size) AS inbound,
FROM accounting
INNER JOIN users ON accounting.dst_ip = users.user_ip
#Hадо делать умножение текущего src_ip с networks.netmask для всех значений
#таблицы networks и сравнивать его с соответсвующим значением (т.е. в этой
#же записи) networks.network. Т.е. проверяем, ходил ли юзер за пределы наших
#сетей, занесенных в табл. networks. Совпадений нет - ходил.
WHERE (?)
#Группируем по каждому дню
GROUP BY TO_DAYS(accounting.date)
#Все записи ранее чем сегодня
HAVING accounting.date < NOW() - INTERVAL 1 DAY
ORDER BY date, uid;
- --------------
Буду признателен за помощь.
Спасибо за внимание.
By,
Yuri.
--- Microsoft Outlook Express 5.50.4522.1200
* Origin: -= Gray Ghost, Kirovograd =- (2:4643/10.0)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/60646d5b9c523.html, оценка из 5, голосов 10
|