SQL новичок здесь:)
Вот мои таблицы, если кому-то интересно.
AHH, пока не могу опубликовать изображение
http://img832.imageshack.us/img832/442/72098588.jpg
Я пытаюсь сделать запрос к таблице tblPatientStats за определенный промежуток времени (@StartDate, @EndDate)
и сгруппируйте их соответственно в сетке данных по winforms.
Таким образом, каждая строка в tblPatientStats имеет либо RefDoctor, либо RefMode, либо оба, либо их вообще нет.
Таким образом, запрос должен возвращать таблицу с именем пациента из tblPatient, RefMode из tblRefMode, именем RefDoctor (Title + FirstName + lastName) и SessionDate из tblPatientStats
==> yfrog dot com / 0yhi2dj
Вот моя попытка.
INSERT @Final(Name, Doctor, Mode, SessionDate)
SELECT DISTINCT (FirstNames + LastName) as Name,
(tblRefDoctor.RefDTitle + ' ' + tblRefDoctor.RefDFNames + ' ' + tblRefDoctor.RefDName) AS Doctor,
tblRefMode.RefMode AS Mode, SessionDate
FROM tblPatientStats, tblPatient
left outer join tblRefDoctor on (RefDoctor = tblRefDoctor.RefDoctor)
left outer join tblRefMode on (RefModeID = tblRefMode.RefModeID)
WHERE
tblPatientStats.RefDoctor IS NOT NULL or tblPatientStats.RefModeID IS NOT NULL
AND
tblPatient.PatientID = tblPatientStats.PatientID
AND tblPatientStats.SessionDate between @StartDate AND @EndDate
Что я делаю не так? Время запроса истекает каждый раз, таблицы маленькие, менее 10 тыс. Записей в каждой.
Любая помощь будет принята с благодарностью.