Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите с хранимой процедурой [Access]


Vetas ©   (2006-01-10 17:47:00) 

Доброе время суток мастера. Помогите написать курсовую.
Требуется из БД выбрать все группы слушателей иностранного языка в которых преподает преподаватель с ID = IDPrepod. Существуют группы, в которых занятия уже отвелись. Требуется, по выбору пользователя, выводить или все группы преподавателя, или только те, в которых занятия еще ведутся. Делаю через хранимую процедуру, первым параметром хочу задавать ИД преподавателя, а вторым (bool), выводить ли группы, в которых занятия отвелись. Вопрос: как сделать, так, чтоб, если второй параметр true, сторка 1 была, и отсутсвовала, когда параметр = false.

create proc GroupOfPrepod
  as
select Группа.Название, ТипыГрупп.Название, Уровень.Название
  from Расписание, Группа, ТипыГрупп, Уровень
     where Расписание.IDПреподаватель = @IDPrepod
(1)     and Расписание.КонецДействия >= Date()
        and Расписание.IDГруппа =  Группа.IDГруппа
        and ТипыГрупп.IDТип = Группа.IDТип
        and Уровень.IDУровень = Группа.IDУровень
  order by Группа.Название


Vetas   (2006-01-10 18:11:00) [1]

Спасибо всем!

sniknik

> но вообщето это не самая проблемная часть запроса...

Вы имеете ввиду, что запрос написан не наилучшм образом? Как будет лучше?


sniknik   (2006-01-10 17:54:00) [2]

and (Расписание.КонецДействия >= Date() or not @второй параметр)

но вообщето это не самая проблемная часть запроса...


Плохиш   (2006-01-10 17:54:00) [3]


> (1)     and Расписание.КонецДействия >= Date()


(1)     and ((not ВТОРОЙПАРАМЕТР) or (Расписание.КонецДействия >= Date()))


Johnmen   (2006-01-10 17:51:00) [4]

... and ((Расписание.КонецДействия >= Date()) or ([второй параметр] = 0)) ...


Наверх

Титульная страница Поиск, карта сайта Написать письмо