Создание SQL запроса..

Ma3x10
Дата: 16.11.2007 22:40:38
Подскажите пожалуйста как мне создать запрос...
У меня есть 3 таблицы:
1. Предметы - из которой назначаются предметы которые прошел сотрудник;
2. Сотрудники - соответсвенно список сотрудников, и период обучения по должности;
3. Таблица в которой эти данные сходятся,когда эти предметы назначаются, а именно: дата назначения предмета, номер предмета, номер сотрудника, отдел и должность;
У каждой должности есть свой период, когда должен сотрудник обучаться (например раз в 3 года);

Результат выводится в 2 таблицах: обученые (фамилия, имя, отчество, дата обучения) и необученные (фамилия, имя, отчество) по выбранному предмету;

Пробовал компонент DecisionQuery1 но не очень получается...
Гы
Дата: 16.11.2007 22:51:21
Период должен быть не у должности а у человека. Sorry! У сотрудника.

А ежели совсем не занаешь скуль - возми обычный квери и в билдере все нарисуй.
Дешево и сердито
Ma3x10
Дата: 16.11.2007 23:02:30
Гы
Период должен быть не у должности а у человека. Sorry! У сотрудника.

А ежели совсем не занаешь скуль - возми обычный квери и в билдере все нарисуй.
Дешево и сердито



здесь имеется ввиду что есть еще одна таблица из которой берется должность сотрудника, а уже в самой таблице сотрудников дополнительно указывается период и номер должности.
SQL я не несовсем не знаю, просто обычно писал запросы для одной таблицы а не для нескольких...
artemana
Дата: 17.11.2007 12:33:47
Ma3x10

Результат выводится в 2 таблицах: обученые (фамилия, имя, отчество, дата обучения) и необученные (фамилия, имя, отчество) по выбранному предмету;

Первый запрос.
select С.фамилия, С.имя, С.отчество,T.Дата_Обучения
  from Таблица_в_которой_эти_ данные_сходятся T
  join Сотрудники  C on C.Id=T.Сотрудник
  where T.Предмет=:APredMet
Второй запрос
...
Не хочу чтобы ты вырос полным лентяем.
Ma3x10
Дата: 28.11.2007 03:07:12
Спасибо за помощь, раотает, ну второй кончно же добью :))
Macks
Дата: 28.11.2007 12:04:12
Ma3x10
Спасибо за помощь, раотает, ну второй кончно же добью :))


Смотри в сторону

... where not exists  ( select 1 from ...
Ma3x10
Дата: 29.11.2007 00:17:53
Смотри в сторону

... where not exists  ( select 1 from ...
[/quot]

а можно поконкретнее, не совсем понятно....
Ma3x10
Дата: 29.11.2007 00:21:24
Кстати ввел первый запрос но получается что выводит всех сотрудников независимо от выбранного предмета. Вот сам запрос не пойму что нетак:

SELECT Tblscheduleros.DtSchedule, Tblscheduleros.IDSotr, Tblscheduleros.IdSubject, Tblsubjectros.idSubject, Tblsubjectros.NameSubject, Tbsotr.IDSotr, Tbsotr.Fam, Tbsotr.Im, Tbsotr.Otch
FROM "tblScheduleRos.DB" Tblscheduleros
INNER JOIN "tbSotr.DB" Tbsotr
ON (Tblscheduleros.IDSotr = Tbsotr.IDSotr)
INNER JOIN "tblsubjectros.DB" Tblsubjectros
ON (Tblsubjectros.idSubject = Tblscheduleros.IdSubject)
WHERE Tblscheduleros.IdSubject = Tblsubjectros.idSubject
ORDER BY Tbsotr.Fam
Macks
Дата: 29.11.2007 11:14:31
А где, в этом запросе, Вы задаете предмет?
WYPMAH
Дата: 29.11.2007 17:09:25
SELECT Tblscheduleros.DtSchedule, Tblscheduleros.IDSotr, Tblscheduleros.IdSubject, Tblsubjectros.idSubject, Tblsubjectros.NameSubject, Tbsotr.IDSotr, Tbsotr.Fam, Tbsotr.Im, Tbsotr.Otch
FROM "tblScheduleRos.DB" Tblscheduleros
   INNER JOIN "tbSotr.DB" Tbsotr
   ON  (Tblscheduleros.IDSotr = Tbsotr.IDSotr)  
   INNER JOIN "tblsubjectros.DB" Tblsubjectros
   ON  (Tblsubjectros.idSubject = Tblscheduleros.IdSubject)  
WHERE 
    Tblscheduleros.IdSubject = Tblsubjectros.idSubject
    and Tblsubjectros.idSubject = :subject_id -- <<< забыли предмет, как никак))
ORDER BY Tbsotr.Fam