|
18 Кб. |
|
| Добрый день, уважаемые коллеги !
Озаботился написанием базы для бюджетирования и внезапно столкнулся с такой проблемой :
Есть две таблицы План и Факт. Структура таблиц одинаковая - Дата, Статья затрат, Сумма.
Статьи затрат храняться в отдельной талице и связаны с таблицами План и Факт как один ко многом. (см. прилож. файл.)
Проблема - при попытке создать запрос вида Статья затрат, План, Факт в случае, если за указанный период в одной из таблиц отсутствуют данные по какой-либо статье получаем в результате урезанный результат. Т.е. хочется получить
Статья затрат План Факт
Зарплата 100 50
Материал 0 30
Аренда 5 0
А получаю только.
Статья затрат План Факт
Зарплата 100 50
Вопрос Как все-таки получить правильные данные ?. Через Recordset ? А как их потом собрать в таблицу ?
И такое еще моленьки ламерски вопросик - Если я делаю запрос с подчиненным запросом, то при указании периода в главном запросе надо ли указывать его в подчиненном ?
Всем заранее спасибо. | |
|
| |
|
|
|
| 1) может так
SELECT Статьи.Статья, Заявки.Сумма, Бюджеты.Сумма
FROM (Статьи LEFT JOIN Заявки ON Статьи.IdIt = Заявки.Статья) LEFT JOIN Бюджеты ON Статьи.IdIt = Бюджеты.Статья
ORDER BY Статьи.Статья;
|
2) думаю не надо | |
|
| |
|
|
|
| К сожалению, данный запрос работает только при наличии не более одной записи с каждой из сторон . При появлении , допустим двух записей в таблице "Заявки" по статье "зарплата " и одной записи в таблице "Бюджеты" по статье "зарплата" мы получм следующий результат в запросе
Статья Заявки Бюджеты
Зарплата 150 25
Зарплата 12 25
При том, что в статье бюджеты есть запись только на 25. Т.е почему то корректно данные беруться только из одной таблицы. Вот с этим вопросом я и борюсь. | |
|
| |
|
14 Кб. |
|
| Может так см.аттач
Если не то, то без понимания задачи (для чего это надо) помочь не смогу
Может смогут более опыт. коллеги
ЗЫ или дайте данные исходных таблиц и конкретные результаты (на основе этих же таблиц) которые надо получить | |
|
| |