Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 нужна помощь с запросом  [new]
JurassicPark
Member

Откуда:
Сообщений: 1
Помогите плиз с запросом, а то уже два дня мучаюсь...

Имеются таблицы:
1) Suppliers (поля SupplierID, SupplierName, и др.) в которой записаны наши поставщики
2) SuppliersCalls (поля CallsID, CallsDate, SupplierID, UserID и др.) в которой фиксятся звонки наших обзвонщиков

Нужен запрос, которй бы выдал поставщиков (SupplierName), которым НЕ звонил конкретный обзвонщик (UserID) в апреле

Поясню ситуацию.
У каждого обзвонщика есть номерной план поставщиков, которых он должен обзвонить (задается селектом. допустим select...where SupplierName like 'A%').

Ситуация усложняется тем, что в таблице фиксятся ВСЕ звонки всех обзвонщиков, Т.е. нужный обзвонщик мог не звонить каким-то своим поставщикам, но им звонили другие.
А мне нужно узнать, как выполнил план конкретный прозвонщик.
7 май 14, 13:30    [15985266]     Ответить | Цитировать Сообщить модератору
 Re: нужна помощь с запросом  [new]
Glory
Member

Откуда:
Сообщений: 104751
JurassicPark
которй бы выдал поставщиков (SupplierName), которым НЕ звонил конкретный обзвонщик (UserID) в апреле

where NOT EXISTS(запрос для "конкретный обзвонщик (UserID) в апреле")
7 май 14, 13:32    [15985275]     Ответить | Цитировать Сообщить модератору
 Re: нужна помощь с запросом  [new]
west74
Member

Откуда: Челябинск
Сообщений: 76
declare @Suppliers table (SupplierID int, SupplierName varchar(200))
declare @Users table (UserID int, UserName varchar(200))
declare @SuppliersCalls table (CallsID int, CallsDate date, SupplierID int , UserID int)

insert into @Suppliers (SupplierID,SupplierName) values
(1,'Газпром'),(2,'Сибнефть'),(3,'Татнефть'),(4,'Протек')

insert into @Users (UserID,UserName) values
(1,'Миша'),(2,'Петя'),(3,'Вова')

insert into @SuppliersCalls (CallsID , CallsDate , SupplierID , UserID ) values
(1,'05/01/2014',1,1),
(1,'05/03/2014',2,1),
(1,'05/05/2014',1,3),
(1,'05/05/2014',4,2),
(1,'05/05/2014',3,2)

Select * from
( select * from @Suppliers ,@Users) A
left join @SuppliersCalls as B on A.SupplierID=B.SupplierID and A.UserID=B.UserID and B.CallsDate between GETDATE()-30 and GETDATE()
where B.CallsID is null
8 май 14, 09:08    [15988913]     Ответить | Цитировать Сообщить модератору
 Re: нужна помощь с запросом  [new]
west74
Member

Откуда: Челябинск
Сообщений: 76
само сабой связь между менеджером и клиентом укажете

( select * from @Suppliers ,@Users) A -> ( select * from @Suppliers ,@Users where ..(задается селектом. допустим select...where SupplierName like 'A%'). ... ) A
8 май 14, 09:11    [15988935]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить