SQL запрос по клиентам на тарифах на определенную дату

Технические вопросы по UTM 5.0
Ответить
Wildwood
Сообщения: 6
Зарегистрирован: Чт янв 17, 2008 14:24

SQL запрос по клиентам на тарифах на определенную дату

Сообщение Wildwood »

не получается вытащить точные данные по клинтам На тариффных планах. необходимо сделать отчет количество клиентов на каждом тарифе на первое число каждого месяца за 2008 год.
например: количество клиентов на 1 января 2008 года

неполучается связать данные по удаленным пользователям, удаленным тарифным и сервисным связкам.

пробовал угадать где и какие данные хранятся получилось несколько вариантов запросов

##### выдает названия тарифов и количество абонентов (с условием даты подключения абонента)###

select count(users.basic_account), tariffs.name
from users, service_links, tariffs_services_link, tariffs
where users.id=service_links.user_id and service_links.service_id=tariffs_services_link.service_id
and tariffs_services_link.tariff_id=tariffs.id
and users.connect_date<unix_timestamp('2008-01-01')
and tariffs_services_link.is_deleted=0
and service_links.is_deleted=0
and users.is_deleted =0
group by tariffs.name;



#####

есть абоненты удаленные сейчас - но 2008-01-01 они были на каком -то тарифе, решил смотреть в историю (tariffs_history и user_log)

###

select count(users.basic_account), tariffs.name
from users, service_links, tariffs_services_link, tariffs
where users.id=service_links.user_id and service_links.service_id=tariffs_services_link.service_id
and tariffs_services_link.tariff_id=tariffs.id
and users.connect_date<unix_timestamp('2008-01-01')
and service_links.is_deleted=0
and users.id not in ( select distinct user_id from user_log where what='user_delete'
and date < unix_timestamp('2008-01-01'))

group by tariffs.name;


####

select count(users.basic_account), tariffs.name
from users, service_links, tariffs_services_link, tariffs
where users.id=service_links.user_id and service_links.service_id=tariffs_services_link.service_id
and tariffs_services_link.tariff_id=tariffs.id
and users.connect_date<unix_timestamp('2008-01-01')
and basic_account not in
(
select account_id
from tariffs_history
where unlink_date >unix_timestamp("2008-01-01")
)
group by tariffs.name;


#####

других вариантов я не нашел пока, все запросы выдают неправильные данные гдето чегото нехватает... может есть другой вариант или както все это объединить? помогите пожалуста!!

SergeyR
Сообщения: 8
Зарегистрирован: Пн окт 13, 2008 09:28

Сообщение SergeyR »

поищи по форуму кто то выкладывал программку DRG.zip

Wildwood
Сообщения: 6
Зарегистрирован: Чт янв 17, 2008 14:24

Сообщение Wildwood »

на форуме сообщения нашел -- ссылок не осталось - а на мыло никто не отвечает ...

AndrewE
Сообщения: 230
Зарегистрирован: Пн июл 17, 2006 07:38

Сообщение AndrewE »

DRG.zip вроде бы для анализа файлов детализации.

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Ищи в таблицах invoices, в них хранятся услуги в том числе и фиктивные

Wildwood
Сообщения: 6
Зарегистрирован: Чт янв 17, 2008 14:24

Сообщение Wildwood »

интерестные таблицы - спассибо! посмотрю что можно с них достать!

Ответить