Сразу извиняюсь если пишу не туда. Нужен скрипт который будет будет брать информацию из 3 таблиц (contactlog, interviewer и InterviewerFieldworkAvailability). interviewenumber есть во всех 3 таблицах, в принципе это основное что нужно знать. Должно выгружаться: номер интервьюера, фио, shiftname (min и max) и все это естественно за каждый день выбранного периода (+ обязательное условие за каждый контакт). Вот что у меня получилось, но к сожалению где то ошибка, ОЧЕНЬ много повторных строк, ну и естественно очень долго выгружается. Помогите разобраться, где ошибка.
select
a.InterviewerNumber, b.FirstName, b. lastname, dbo.ShiftName(c.MinShift), dbo.ShiftName(c.MaxShift), s.contactdate
from dbo.InterviewerFieldworkAvailability as a LEFT JOIN dbo.Interviewer as b on a.Interviewernumber=b.Interviewernumber LEFT JOIN dbo.contactlog as s on a.Interviewernumber=s.Interviewernumber LEFT JOIN ( SELECT InterviewerNumber, min(ShiftNumber) as minShift, max(ShiftNumber) as maxShift FROM dbo.InterviewerFieldworkAvailability GROUP BY InterviewerNumber ) as c on c.InterviewerNumber = a.InterviewerNumber
where ContactDate > ('2014-04-01 01:00:00.000') and ContactDate < ('2014-04-30 23:59:00.000') and a.InterviewerNumber >= '1000' and a.InterviewerNumber <= '9999' and b.FirstName not like '%(new_2П)%' and b.FirstName not like '%(new_2)%' and b.LastName not like '%(2)%' and a.InterviewerNumber not in (0,1000,1111, 7038, 6180, 7404, 8587, 2000, 7547, 6000, 1849, 7474, 4180, 8814, 8081, 6702, 9574, 1830, 3778, 9449, 8139, 3314, 8918)