Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сделать запрос....
 
 автор: SONAR   (11.10.2010 в 08:54)   личное сообщение
 
 

Парни, доброго всем.
Не могу придумать алгоритм, как сделать запрос.
Задача:
Есть две таблицы:
Таблица1 с полем:

КАЛЕНДАРНАЯ ДАТА
01.01.2010
02.01.2010
03.01.2010
04.01.2010
05.01.2010
06.01.2010
07.01.2010
08.01.2010
09.01.2010
10.01.2010
и так далее

есть Таблица 2 с двумя, допустим полями:
ДАТА РАБОТЫ: ФИО
02.01.2010 ИВАНОВ
05.01.2010 ИВАНОВ
06.01.2010 СИДОРОВ
07.01.2010 СИДОРОВ
08.01.2010 ИВАНОВ
09.01.2010 ИВАНОВ
10.01.2010 ИВАНОВ


Необходимо создать запрос на выборку по полю ФИО из таблицы 2, допустим по СИДОРОВ и должен получиться следующий запрос с тремя полями:

КАЛЕНДАРНАЯ ДАТА: ДАТА РАБОТЫ: ФИО
01.01.2010
02.01.2010
03.01.2010
04.01.2010
05.01.2010
06.01.2010 06.01.2010 СИДОРОВ
07.01.2010 07.01.2010 СИДОРОВ
08.01.2010
09.01.2010
10.01.2010


Т.е. чтобы в запросе из первой таблицы показывались все записи по полю КАЛЕНДАРНАЯ ДАТА, а из Таблицы 2 те, записи кои есть по полю СИДОРОВ...
Надеюсь более менее донес что хочу, но что не получается
Спасибо

  Ответить  
 
 автор: Дядя Федор   (11.10.2010 в 09:16)   личное сообщение
 
 


SELECT Tabl1.Data, Tbl2.Fio
FROM TblTabCal LEFT JOIN Tbl2 ON Tbl1.Data = Tbl2.Data;

Как-то так, и "дата работы", наверное лишнее. Впрочем ее можно добавить в запрос
SELECT Tabl1.Data, Tbl2.DataRab,Tbl2.Fio

SELECT Tabl1.Data,Tabl2.DataRAb, Tbl2.Fio
FROM TblTabCal LEFT JOIN Tbl2 ON Tbl1.Data = Tbl2.DataRAb;

  Ответить  
 
 автор: SONAR   (11.10.2010 в 09:44)   личное сообщение
 
 

Не прокатывает... мне нужно, чтобы из первой таблицы отбирались абсолютно все записи, а из второй к этим записям выбирались по выборке СИДОРОВ записи которые были бы если СИДОРОВ РАБОТАЛ, в запросе, но а те дни, в которые он не работал, были пустыми строками с данными в одном столбце из первой таблицы

  Ответить  
 
 автор: Дядя Федор   (11.10.2010 в 10:39)   личное сообщение
13 Кб.
 
 

Второй запрос дает точно это. связь Tbl1.Data->Tbl2.datRab один ко многим
см.влож. у меня только вместо фамилий количество.

  Ответить  
 
 автор: Дядя Федор   (11.10.2010 в 10:44)   личное сообщение
 
 

А! еще фильтр по сидорову! Щас.

SELECT Tabl1.Data,Tabl2.DataRAb, Tbl2.Fio
FROM TblTabCal LEFT JOIN Tbl2 ON Tbl1.Data = Tbl2.DataRAb
WHERE (((IsNull([DataRab]) Or ([FIO]="СИДОРОВ"))=True));

  Ответить  
 
 автор: SONAR   (11.10.2010 в 11:06)   личное сообщение
 
 

Вроде получилось.
Спасибо, Дядя Федор!!!

  Ответить  
 
 автор: SONAR   (11.10.2010 в 12:56)   личное сообщение
 
 

Нет. не работает.
Не все записи выводит.

  Ответить  
 
 автор: Дядя Федор   (11.10.2010 в 13:17)   личное сообщение
 
 

А какие не выводит? Выложи кусочек базы.

SELECT Tabl1.Data,Tabl2.DataRAb, Tbl2.Fio
FROM Tabl1 LEFT JOIN Tbl2 ON Tbl1.Data = Tbl2.DataRAb
WHERE (((IsNull([DataRab]) Or ([FIO]="СИДОРОВ"))=True)); 

Кстати, ошибочка вкралась, но,думаю, ты разобрался.(Tabl1 д.б.)

  Ответить  
 
 автор: Дядя Федор   (11.10.2010 в 13:48)   личное сообщение
 
 

сделай сохраненый запрос

SELECT IIf([ФИО]="СИДОРОВ","СИДОРОВ",Null) AS ФИО1, Tbl2.Data
FROM Tbl2;

и таблиу1 подключай к этому запросу, а не к табл2.
Это исключит всех не сидоровых, но оставит все даты.
Можно и вложенным запросом. Думайте...

  Ответить  
 
 автор: SONAR   (11.10.2010 в 14:08)   личное сообщение
14 Кб.
 
 

Кусочек базы...
две таблицы на которых строится запрос со ссылкой на форму frmSdanoVArchiv

Если в ней в поле выбрать допустим ОКВКУ 0215... то можно видить, что нет записей за 3-е и 2-е октября... а они нужны, пусть и пустые, только в первом столбце дата, но нужны

  Ответить  
 
 автор: Дядя Федор   (11.10.2010 в 14:46)   личное сообщение
94 Кб.
 
 

да... а таблицы-то присоединенные... лано посмотрю по текстам
нет не получается быстро. мож кусочек таблий внедришь
пока посмотри мой пример. (там вместо фамилий количество.
Посмотри запросы 1,2,3 - может переделаешь под свою задачу.
нет времени оптимизировать с вложенными запросами.

ДОБАВИЛ запрос4 сразу все одним запросом, только имена полей см.

  Ответить  
 
 автор: SONAR   (11.10.2010 в 15:45)   личное сообщение
27 Кб.
 
 

Извиняюсь, вот с внедренными таблами а не прикрепленными

  Ответить  
 
 автор: Дядя Федор   (11.10.2010 в 16:33)   личное сообщение
26 Кб.
 
 

Так?=>

ИСПРАВИЛ сортировку

  Ответить  
 
 автор: SONAR   (11.10.2010 в 16:39)   личное сообщение
 
 

Точно так!
Спасибо ААААГромное!!!

  Ответить  
 
 автор: Дядя Федор   (11.10.2010 в 16:40)   личное сообщение
 
 

Посмотри исправленное и удачи!!!!!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList