IPB
+7 (495) 374-00-47
Рассчитать стоимость

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V  < 1 2 3 4 >  
Ответить в данную темуНачать новую тему
Хитрые отчеты
MAXIMA TAXI
сообщение 18.6.2013, 13:26
Сообщение #41


Активный участник
***

Группа: MAXIMA GROUP admins
Сообщений: 1374
Регистрация: 9.11.2010
Пользователь №: 21
Должность:Директор



Цитата(Rostislavoff @ 18.6.2013, 14:03) *
Гхм... Алексей, здравствуйте, а не подскажете - как изменить запрос, если он подвешивает комп? То есть: чтобы отредактировать его - надо для начала кликнуть его. А при любом прикосновении к нему - завис гарантирован. Как быть?

Точнее даже - как удалить его, чтоб не мозолил глаза?

Цитата(MAXIMA TAXI @ 18.6.2013, 11:38) *
...
Если у кого не удаляется отчет, просьба также попросить это сделать специалистов ТП.


--------------------
MAXIMA TAXI - Технологии Вашего превосходства
www.telemaxima.ru
Перейти в начало страницы
 
+Цитировать сообщение
Inhuman
сообщение 10.7.2013, 10:27
Сообщение #42


Новичок
*

Группа: Пользователи
Сообщений: 6
Регистрация: 20.5.2013
Пользователь №: 329

Город:Братск
Должность:Директор



Доброго времени суток, случился казус, несколько дней водители ездили по заказам бесплатно... (виновен сам, неграмотно настроил пряник).
А теперь следовательно нужно отследить водителей которые выполняли заказы, причем важно знать тариф заказа(у пряников тариф СТАНДАРТ_Б).
Схожий функционал есть у функции меню (БОРТА/заказы водителя), но там нельзя указать временной промежуток. Прошу оказать помощь в составлении хитрого запроса, который показывает:
ФИО водителя, Борт\позывной, величину списания с водителя за заказ, Тариф заказа(Бордюр, Автораспределение), ID заказа

за указанный промежуток времени в днях, для указанной диспетчерской.
Заранее спасибо.
Перейти в начало страницы
 
+Цитировать сообщение
MAXIMA TAXI
сообщение 10.7.2013, 13:15
Сообщение #43


Активный участник
***

Группа: MAXIMA GROUP admins
Сообщений: 1374
Регистрация: 9.11.2010
Пользователь №: 21
Должность:Директор



Цитата(Inhuman @ 10.7.2013, 11:27) *
Доброго времени суток, случился казус, несколько дней водители ездили по заказам бесплатно... (виновен сам, неграмотно настроил пряник).
А теперь следовательно нужно отследить водителей которые выполняли заказы, причем важно знать тариф заказа(у пряников тариф СТАНДАРТ_Б).
Схожий функционал есть у функции меню (БОРТА/заказы водителя), но там нельзя указать временной промежуток. Прошу оказать помощь в составлении хитрого запроса, который показывает:
ФИО водителя, Борт\позывной, величину списания с водителя за заказ, Тариф заказа(Бордюр, Автораспределение), ID заказа

за указанный промежуток времени в днях, для указанной диспетчерской.
Заранее спасибо.

--отчёт формируется на основании справочника "Взаиморасчёты с водителями" по операциям "Списание за заказ"

--параметры отчёта
declare @id_disp as int = 2; --id диспетчерской, для которой проводим анализ
declare @date_since_str as varchar(10) = '17.06.2012'; --с какого числа (включительно) нужны данные
declare @date_until_str as varchar(10) = '01.07.2013'; --до какого числа (включительно) нужны данные

--отчёт
declare @date_since as date = convert(date, @date_since_str, 104 );
declare @date_until as date = convert(date, @date_until_str, 104 );

select dbo.fn_get_fio_driver(ds.id_driver) as 'ФИО водителя',
l.logical_id as 'Борт/Позывной',
ds.operation_value as 'Списание за заказ',
pt.name as 'Тариф заказа',
ds.id_order as 'ID заказа'
from dbo.drivers_settlements ds
left join dbo.orders o on o.id = id_order
left join dbo.crews c on c.id = o.id_crew
left join dbo.logical_id l on l.id = c.id_logical_id and l.logical_id_group = 4 --позывной борта
left join dbo.pricing_tariffs pt on pt.id = o.id_tariff
where id_driver_settlement_operation in (1, 2) -- заказ (1), безналичный заказ (2)
and CAST(operation_datetime as date) between @date_since and @date_until
and o.id_domain = @id_disp


--------------------
MAXIMA TAXI - Технологии Вашего превосходства
www.telemaxima.ru
Перейти в начало страницы
 
+Цитировать сообщение
Rostislavoff
сообщение 12.7.2013, 12:48
Сообщение #44


Активный участник
***

Группа: Пользователи
Сообщений: 37
Регистрация: 14.11.2011
Из: Томск
Пользователь №: 147

Город:Томск
Должность:Директор



Здравствуйте. Хотелось бы получать отчет о звонках наших водителей на рекламный телефон. Нередка ситуация, когда водитель звонит и подолгу занимает основную линию. Выбирать вручную такие звонки - нереально. А вот вычленить по номерам телефонов автоматически - думаю, несложно.
Перейти в начало страницы
 
+Цитировать сообщение
sergey15g
сообщение 24.7.2013, 11:25
Сообщение #45


Активный участник
***

Группа: Пользователи
Сообщений: 136
Регистрация: 19.10.2012
Пользователь №: 229

Город:Орехово-Зуево
Должность:Дилер



Здравствуйте!
Можете помочь с запросом по водителям? Хотелось бы отчет такого плана :
ФИО Водителя, Борт, Фактическая сумма по заказам за n-период, Общий километраж по заказам за n-период.
Перейти в начало страницы
 
+Цитировать сообщение
MAXIMA TAXI
сообщение 25.7.2013, 12:57
Сообщение #46


Активный участник
***

Группа: MAXIMA GROUP admins
Сообщений: 1374
Регистрация: 9.11.2010
Пользователь №: 21
Должность:Директор



Цитата(Rostislavoff @ 12.7.2013, 13:48) *
Здравствуйте. Хотелось бы получать отчет о звонках наших водителей на рекламный телефон. Нередка ситуация, когда водитель звонит и подолгу занимает основную линию. Выбирать вручную такие звонки - нереально. А вот вычленить по номерам телефонов автоматически - думаю, несложно.

Ростислав, вышлите номер телефона, который нужно проанализировать мне в личку, постараемся помочь написать запрос


--------------------
MAXIMA TAXI - Технологии Вашего превосходства
www.telemaxima.ru
Перейти в начало страницы
 
+Цитировать сообщение
sergey15g
сообщение 25.7.2013, 14:57
Сообщение #47


Активный участник
***

Группа: Пользователи
Сообщений: 136
Регистрация: 19.10.2012
Пользователь №: 229

Город:Орехово-Зуево
Должность:Дилер



MAXIMA TAXI
А мне можете ответить? Выполнимо или нет?
Перейти в начало страницы
 
+Цитировать сообщение
MAXIMA TAXI
сообщение 26.7.2013, 9:56
Сообщение #48


Активный участник
***

Группа: MAXIMA GROUP admins
Сообщений: 1374
Регистрация: 9.11.2010
Пользователь №: 21
Должность:Директор



Цитата(sergey15g @ 25.7.2013, 15:57) *
MAXIMA TAXI
А мне можете ответить? Выполнимо или нет?

Запрос отправил программистам, жду ответ.


--------------------
MAXIMA TAXI - Технологии Вашего превосходства
www.telemaxima.ru
Перейти в начало страницы
 
+Цитировать сообщение
MAXIMA TAXI
сообщение 26.7.2013, 13:15
Сообщение #49


Активный участник
***

Группа: MAXIMA GROUP admins
Сообщений: 1374
Регистрация: 9.11.2010
Пользователь №: 21
Должность:Директор



Цитата(sergey15g @ 24.7.2013, 12:25) *
Здравствуйте!
Можете помочь с запросом по водителям? Хотелось бы отчет такого плана :
ФИО Водителя, Борт, Фактическая сумма по заказам за n-период, Общий километраж по заказам за n-период.

Вот запрос, который Вы просили. Все отработали за исключением расстояния. Трудозатраты вывода расстояния несколько большие, так что пока без расстояния.
В качестве повышения его "универсальности" добавили колонки "Количество заказов" и "Средний чек"

--Отчёт по водителям о количестве выполненных заказов за период и суммарной стоимости этих заказов
--Формируется по времени переноса заказа в архив

--параметры отчёта
declare @id_disp as int = 2; --id диспетчерской, для которой проводим анализ
declare @date_since_str as varchar(20) = '2013-07-01 0:00:00' --Дата, начиная с которой анализируем заказы (в формате гггг-мес-дд чч:мм:сс)
declare @date_until_str as varchar(20) = '2013-07-02 0:00:00' --Дата, до которой анализируем заказы (в формате гггг-мес-дд чч:мм:сс)

--отчёт
declare @date_since as date = convert(date, @date_since_str, 20 );
declare @date_until as date = convert(date, @date_until_str, 20 );

select dbo.fn_get_fio_driver(cr.id_driver) as 'Водитель'
, l.logical_id as 'Борт'
, SUM(cost) as 'Стоимость заказов'
, count(*) as 'Количество заказов'
, convert(decimal, SUM(cost)/count(*)) as 'Средний чек'
from dbo.orders o
left join dbo.crews cr on cr.id = id_crew
left join dbo.logical_id l on l.id = cr.id_logical_id
where o.id_domain=@id_disp
and id_closed_result in (1/*успех*/)
and datetime_to_archive between @date_since and @date_until
and cr.id_driver is not null
group by id_crew, cr.id_driver, l.logical_id
order by dbo.fn_get_fio_driver(cr.id_driver)


--------------------
MAXIMA TAXI - Технологии Вашего превосходства
www.telemaxima.ru
Перейти в начало страницы
 
+Цитировать сообщение
sergey15g
сообщение 26.7.2013, 19:06
Сообщение #50


Активный участник
***

Группа: Пользователи
Сообщений: 136
Регистрация: 19.10.2012
Пользователь №: 229

Город:Орехово-Зуево
Должность:Дилер



Цитата(MAXIMA TAXI @ 26.7.2013, 14:15) *
Вот запрос, который Вы просили. Все отработали за исключением расстояния. Трудозатраты вывода расстояния несколько большие, так что пока без расстояния.

Алексей, огромное Вам спасибо!!!
Перейти в начало страницы
 
+Цитировать сообщение
GosTaxi
сообщение 7.11.2013, 13:40
Сообщение #51


Активный участник
***

Группа: Пользователи
Сообщений: 156
Регистрация: 27.6.2012
Из: Иркутская обл. г.Братск
Пользователь №: 197

Город:Братск
Должность:Директор



Можно написать такой запрос ..???
Если водитель не выполнял заказы N-суток, то баланс в системе поставить = 0.
и пометить его в выписке у водителя?
Перейти в начало страницы
 
+Цитировать сообщение
MAXIMA TAXI Конс...
сообщение 22.4.2014, 15:56
Сообщение #52


Участник
**

Группа: Пользователи
Сообщений: 13
Регистрация: 22.4.2014
Пользователь №: 443

Город:Москва
Должность:ИТР



Стандартный список физлиц, дополненный столбцами
"Количество выполненных заказов" и
"Дата последней поездки"


Код
declare @id_disp as int = 2; --id диспетчерской, для которой проводим анализ

select n.id,
n.surname as 'Фамилия',
n.name as 'Имя',
n.patronymic 'Отчество',
dbo.fn_get_phones(n.id, 1) as 'Телефоны',
n.special_info as 'Особая информация',
n.in_black_list as 'В чёрном списке',
(select count(*) from dbo.orders where
id_client=n.id
and
id_state=6) as 'Количество заказов',

(select MIN(create_date) from dbo.orders
where id_client=n.id) as 'Дата последней поездки'
from dbo.natural_person n
where
n.id_domain = @id_disp
order by n.id
Перейти в начало страницы
 
+Цитировать сообщение
MAXIMA TAXI Конс...
сообщение 22.4.2014, 15:58
Сообщение #53


Участник
**

Группа: Пользователи
Сообщений: 13
Регистрация: 22.4.2014
Пользователь №: 443

Город:Москва
Должность:ИТР



Заказы, при выполнении которых была превышена скорость

Код
declare @max_speed as int = 75; -- максимальная скорость, км\ч, целое число
declare @time_offset as int = 4; -- Часовой пояс, пример +4
select
o.id as 'id заказа',
o.id_crew as 'id борта',
(select logical_id from logical_id l where id=c.id_logical_id) as 'Позывной борта',
d.surname as 'Фамилия',
d.name as 'Имя',
d.patronymic as 'Отчество',

cast((select MAX(g.avg_speed) from gps_data g where g.[order]=dbo.fn_get_own_order_ident(o.id)) as int) as 'Максимальная скорость',

(select top 1 gps_data_time from gps_data where [order] = dbo.fn_get_own_order_ident(o.id) and avg_speed > @max_speed and id_crew is not null order by avg_speed desc) + ((1.0 / 24) * @time_offset) as 'Дата и время'
from orders o
left join crews c on c.id=o.id_crew
left join drivers d on d.id=c.id_driver
where dbo.fn_get_own_order_ident(o.id) in (select gps_data.[order] from dbo.gps_data where avg_speed > @max_speed and id_crew is not null)
order by 'Максимальная скорость' desc
Перейти в начало страницы
 
+Цитировать сообщение
MAXIMA TAXI Конс...
сообщение 23.4.2014, 10:13
Сообщение #54


Участник
**

Группа: Пользователи
Сообщений: 13
Регистрация: 22.4.2014
Пользователь №: 443

Город:Москва
Должность:ИТР



Настраиваемый отчёт по пробегу (на заказе)

Код
--вспомогательная функция
/*
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[fn_gps_math_lat_lon] (
     @latOrLon as float
)
RETURNS float
AS
BEGIN
     return @latOrLon*3.14/180.0;
END
GO
*/

--параметры отчёта
declare @id_disp as int = 2; --id диспетчерской, для которой проводим анализ declare @date_since_str as varchar(20) = '2014-01-26 0:00:00' --Дата (UTC), начиная с которой анализируем заказы (в формате гггг-мес-дд чч:мм:сс) declare @date_until_str as varchar(20) = '2014-04-28 0:00:00' --Дата (UTC), до которой анализируем заказы (в формате гггг-мес-дд чч:мм:сс)

-- заказ назначен на водителя - водитель выехал на заказ - подъехал - с клиентом (водитель нажал "С клиентом") - заказ завершён - водитель нажал "Я свободен"
-- 1 - 2 - 3 - 4 - 5 - 6

--с какого момента на заказе будем рассчитывать пробег:
-- 1 - заказ назначен на водителя
-- 2 - водитель выехал на заказ
-- 3 - подъехал
-- 4 - с клиентом
-- 5 - заказ завершён
-- 6 - водитель нажал "Я свободен"


--отчёт
declare @date_since as date = convert(date, @date_since_str, 20 ); declare @date_until as date = convert(date, @date_until_str, 20 );

declare c cursor local fast_forward for
     select o.id, o.id_crew
     from dbo.orders o
     where
--здесь задаётся условие выборки заказов (также как в фильтрах заказов при настройке прав)
         o.id_state in (6,--завершен
                          7 --отменён
                         )
       and o.id_closed_result in (1, --успех
                                 2 --отменён
                                 )
       and o.id_domain=@id_disp
       and datetime_to_archive between @date_since and @date_until

open c;

declare @id_order int;
declare @id_crew_from_order int;
declare @id_iterator int;

declare @since_time datetime = null;
declare @until_time datetime = null;

declare @distance float = null;

create table #t(order_id int, id_driver int, id_crew int, distance__1_2 float, distance__2_3 float, distance__3_4 float, distance__4_5 float,
distance__5_6 float, distance__1_6 float)

fetch next from c into @id_order, @id_crew_from_order

while @@fetch_status = 0
begin
-- заказ назначен на водителя - водитель выехал на заказ - подъехал - с клиентом (водитель нажал "С клиентом") - заказ завершён - водитель нажал "Я свободен"
-- 1 - 2 - 3 - 4 - 5 - 6
     declare @since_time__take_order datetime = null; --1
     declare @since_time__has_left datetime = null; --2
     declare @since_time__rode datetime = null; --3
     declare @since_time__with_client datetime = null; --4

     set @since_time__take_order = (select top 1 oe.event_datetime
                                   from order_events oe
                                   where oe.id_order = @id_order
                                     and oe.id_crew = @id_crew_from_order
                                     and oe.id_order_event_type = 18 /*заказ распределён*/
                                   order by oe.id desc
                                  )
     set @since_time__has_left = (select top 1 oe.event_datetime
                                   from order_events oe
                                   where oe.id_order = @id_order
                                     and oe.id_crew = @id_crew_from_order
                                     and oe.id_order_event_type = 66 --Водитель - новое состояние
                                     and oe.ex_info like '%Выехал%'
                                   order by oe.id desc
                                  )

     if (@since_time__has_left is null)
         set @since_time__has_left = @since_time__take_order

     set @since_time__rode = (select top 1 oe.event_datetime
                                   from order_events oe
                                   where oe.id_order = @id_order
                                     and oe.id_crew = @id_crew_from_order
                                     and oe.id_order_event_type = 66 --Водитель - новое состояние
                                     and oe.ex_info like '%Ожидание%'
                                   order by oe.id desc
                                  )

     set @since_time__with_client = (select top 1 oe.event_datetime
                                   from order_events oe
                                   where oe.id_order = @id_order
                                     and oe.id_crew = @id_crew_from_order
                                     and oe.id_order_event_type = 66 --Водитель - новое состояние
                                     and oe.ex_info like '%С клиентом%'
                                   order by oe.id desc
                                  )

     declare @until_time__complited datetime = null; --заказ завершён --5
     declare @until_time__free datetime = null; --водитель нажал "Я свободен" --6

     --declare @until_time datetime = null;

     set @until_time__complited = (select top 1 oe.event_datetime
                                   from order_events oe
                                   where oe.id_order = @id_order
                                     and oe.id_crew = @id_crew_from_order
                                     and oe.id_order_event_type = 66 --Водитель - новое состояние
                                     and oe.ex_info like '%Клиента довез%'
                                   order by oe.id desc
                                  )

     set @until_time__free = (select top 1 oe.event_datetime
                                   from order_events oe
                                   where oe.id_order = @id_order
                                     and oe.id_crew = @id_crew_from_order
                                     and
                                        ((oe.id_order_event_type = 66 --Водитель - новое состояние
                                           and oe.ex_info like '%Заказ завершен%'
                                         )
                                         or oe.id_order_event_type = 65 --Водитель выполнил заказ
                                        )

                                   order by oe.id desc
                                  )

-- заказ назначен на водителя - водитель выехал на заказ - подъехал - с клиентом (водитель нажал "С клиентом") - заказ завершён - водитель нажал "Я свободен"
-- 1 - 2 - 3 - 4 - 5 - 6
     declare @distance__1_2 float = 0.0;
     declare @distance__2_3 float = 0.0;
     declare @distance__3_4 float = 0.0;
     declare @distance__4_5 float = 0.0;
     declare @distance__5_6 float = 0.0;
     declare @distance__1_6 float = 0.0;


     set @id_iterator = 0;

     while(@id_iterator < 5)
     begin
         set @since_time = null;
         set @until_time = null;
         set @distance = 0.0;

         if (@id_iterator = 0)
         begin
             set @since_time = @since_time__take_order;
             set @until_time = @since_time__has_left;
         end
         else
         if (@id_iterator = 1)
         begin
             set @since_time = @since_time__has_left;
             set @until_time = @since_time__rode;
         end
         else
         if (@id_iterator = 2)
         begin
             set @since_time = @since_time__rode;
             set @until_time = @since_time__with_client;
         end
         else
         if (@id_iterator = 3)
         begin
             set @since_time = @since_time__with_client;
             set @until_time = @until_time__complited;
         end
         else
         if (@id_iterator = 4)
         begin
             set @since_time = @until_time__complited;
             set @until_time = @until_time__free;
         end


         if (@since_time is not null and @until_time is not null)
         begin
             set @since_time = @since_time - 20*1.0/24.0/60.0/60.0; --возьмём 20 сек до указанного времени

             declare c_gps cursor local fast_forward for
                 select lat, lon
                 from dbo.gps_data
                 where [order] = dbo.fn_get_own_order_ident(@id_order)
                   and id_crew = @id_crew_from_order
                   and gps_data_time between @since_time and @until_time
                 order by id asc;

             declare @lat float;
             declare @lon float;
             declare @tmp float;
             declare @lat_prev float = null;
             declare @lon_prev float = null;

             open c_gps;

             fetch next from c_gps into @lat, @lon;

             while @@fetch_status = 0
             begin
                 if @lat_prev is not null and @lon_prev is not null
                 begin
                     set @distance = @distance + dbo.fn_gps_get_distance(@lat, @lon, @lat_prev, @lon_prev);
                     set @tmp = dbo.fn_gps_get_distance(@lat, @lon, @lat_prev, @lon_prev);
                 end

                 set @lat_prev = @lat;
                 set @lon_prev = @lon;

                 fetch next from c_gps into @lat, @lon;
             end

             close c_gps;
             deallocate c_gps;

         end


         if (@id_iterator = 0)
         begin
             set @distance__1_2 = @distance;
         end
         else
         if (@id_iterator = 1)
         begin
             set @distance__2_3 = @distance;
         end
         else
         if (@id_iterator = 2)
         begin
             set @distance__3_4 = @distance;
         end
         else
         if (@id_iterator = 3)
         begin
             set @distance__4_5 = @distance;
         end
         else
         if (@id_iterator = 4)
         begin
             set @distance__5_6 = @distance;
         end

         set @distance__1_6 += @distance;

         set @id_iterator += 1;
     end;

     insert into #t(order_id, id_crew, distance__1_2, distance__2_3, distance__3_4, distance__4_5, distance__5_6, distance__1_6)
     values(@id_order, @id_crew_from_order, @distance__1_2, @distance__2_3, @distance__3_4, @distance__4_5, @distance__5_6, @distance__1_6);

     fetch next from c into @id_order, @id_crew_from_order; end

close c;
deallocate c;

-- заказ назначен на водителя - водитель выехал на заказ - подъехал - с клиентом (водитель нажал "С клиентом") - заказ завершён - водитель нажал "Я свободен"
-- 1 - 2 - 3 - 4 - 5 - 6

select t.order_id as 'ID заказа',
        c.id as 'ID борта',
        l.logical_id as 'Борт',
        dbo.fn_get_fio_driver(c.id_driver) as 'Водитель',
        cast(t.distance__1_2 as decimal(10,3)) as 'Назначен-Выехал',
        cast(t.distance__2_3 as decimal(10,3)) as 'Выехал-Подьехал',
        cast(t.distance__3_4 as decimal(10,3)) as 'Подьехал-С клиентом',
        cast(t.distance__4_5 as decimal(10,3)) as 'С клиентом-Клиента довёз',
        cast(t.distance__5_6 as decimal(10,3)) as 'Клиента довёз-Свободен',
        cast(t.distance__1_6 as decimal(10,3)) as 'Общий пробег по заказу (км)'
from #t t
left join dbo.crews c on c.id = t.id_crew left join dbo.logical_id l on l.id = c.id_logical_id order by c.id_logical_id, t.order_id

drop table #t
Перейти в начало страницы
 
+Цитировать сообщение
MAXIMA TAXI Конс...
сообщение 23.4.2014, 10:14
Сообщение #55


Участник
**

Группа: Пользователи
Сообщений: 13
Регистрация: 22.4.2014
Пользователь №: 443

Город:Москва
Должность:ИТР



Список бортов определённой диспетчерской

Код
declare @id_domain as int = 2; --id диспетчерской

select n.id as ID_Борта,
(select logical_id from logical_id where id=id_logical_id) as 'Позывной',
d.surname as 'Фамилия',
d.name as 'Имя',
d.patronymic as 'Отчество',
(select reg_number from cars where id=id_car) as 'Рег. номер',
(select name from drivers_groups where id=d.id_group) as 'Группа водителей',
(select top 1 contact_content from contacts where id_parent=id_driver and parent_type=0 and contact_type in (select id from contact_type where atype = 0) order by is_default desc) as 'Телефон'
from dbo.crews n
left join drivers d on d.id = n.id_driver
where n.id_domain = @id_domain
Перейти в начало страницы
 
+Цитировать сообщение
MAXIMA TAXI Конс...
сообщение 23.4.2014, 10:15
Сообщение #56


Участник
**

Группа: Пользователи
Сообщений: 13
Регистрация: 22.4.2014
Пользователь №: 443

Город:Москва
Должность:ИТР



Таблица стоимости поездок между ценовыми зонами

Код
declare @id_tariff int = 2 --id тарифа

select pza.name as 'Откуда', pzb.name as 'Куда', pcz.cost as 'Стоимость'
from dbo.pricing_zones_cost pcz
left join dbo.pricing_zones pza on pza.id = pcz.id_zone_a
left join dbo.pricing_zones pzb on pzb.id = pcz.id_zone_b
where pcz.id_tariff = @id_tariff
order by pza.name, pzb.name

select fa.name, dbo.fn_get_addr(fa.id_region, fa.id_raion, fa.id_city, fa.id_naspunkt, fa.id_street, fa.house_number, fa.building, fa.entrance, null, pcp.id_domain) as 'Откуда', pcp.cost as 'Стоимость'
from dbo.pricing_country_points pcp
left join dbo.fast_adresses fa on fa.id = pcp.id_country_point
where pcp.id_tariff = @id_tariff
order by fa.name
Перейти в начало страницы
 
+Цитировать сообщение
MAXIMA TAXI Конс...
сообщение 23.4.2014, 10:16
Сообщение #57


Участник
**

Группа: Пользователи
Сообщений: 13
Регистрация: 22.4.2014
Пользователь №: 443

Город:Москва
Должность:ИТР



Выборка уникальных телефонных номеров по полю "Перезвонить"

Код
declare @date_begin as datetime = '2013-01-12 00:00:00.000'; -- формат: год, день, месяц
declare @date_end as datetime = '2013-31-12 23:59:59.999';


select distinct tel
--select id, tel, datetime_from
from orders
where datetime_from >= @date_begin and datetime_from <= @date_end

union

select distinct tel_call_back
--select id, tel_call_back, datetime_from
from orders
where datetime_from >= @date_begin and datetime_from <= @date_end
Перейти в начало страницы
 
+Цитировать сообщение
Samael
сообщение 23.4.2014, 10:51
Сообщение #58


Активный участник
***

Группа: Пользователи
Сообщений: 251
Регистрация: 27.10.2011
Пользователь №: 143

Город:Online
Должность:Директор



Водитель ИГНОРИРУЕТ назначаемые заказы

Водитель стоит в очереди, но при этом никаких действий не производит. Как правило это забывчивые водители или которые работают на несколько фирм

SELECT TOP 10000 oe.id_order as 'ID заказа',
(select logical_id from logical_id where id=(select id_logical_id from crews where id=c.id)) as 'Позывной борта',
dbo.fn_get_fio_driver(c.id_driver) as 'ФИО водителя',
dbo.fn_get_addr(o.addr_from_id_region, o.addr_from_id_raion, o.addr_from_id_city, o.addr_from_id_naspunkt, o.addr_from_id_street, o.addr_from_house_number, o.addr_from_building, o.addr_from_entrance, o.addr_from_apartment_number, o.id_domain) 'Откуда',
o.create_date as 'Дата',
o.create_time as 'Время'

FROM [besttaxi].[dbo].[order_events] oe
left join dbo.orders o on o.id=oe.id_order
left join dbo.crews c on c.id=oe.id_crew
where id_order_event_type=22
order by o.create_date_time desc
Перейти в начало страницы
 
+Цитировать сообщение
Goodluck
сообщение 14.1.2015, 11:29
Сообщение #59


Участник
**

Группа: Пользователи
Сообщений: 27
Регистрация: 3.4.2014
Пользователь №: 436

Город:Набережные Челны
Должность:ИТР



Оживляю тему, интересует запрос который выведет физ лица с одинаковыми номерами телефонов и ФИО


--------------------
Продам базы улиц, домов с GPS координатами вашего города (2GIS)
По многочисленным просьбам подпись была отредактирована =)

Skype - g0o0o0odluck
Перейти в начало страницы
 
+Цитировать сообщение
spetrykin
сообщение 28.1.2015, 16:33
Сообщение #60


Активный участник
***

Группа: Пользователи
Сообщений: 78
Регистрация: 1.2.2012
Пользователь №: 167

Город:Пятигорск
Должность:Директор



Добрый день. Возможно ли создать запрос, который сообщит,кому из водителей какой оператор завершил смену вручную?
Перейти в начало страницы
 
+Цитировать сообщение

4 страниц V  < 1 2 3 4 >
Быстрый ответОтветить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 23.8.2019, 18:13
+7 (495) 374-00-47
Рассчитать стоимость