Вывод нескольких результатов по нескольким условиям в одной выборке
|
|
Понедельник, 26 Мая 2014 г. 15:07
+ в цитатник
Здравствуйте. Есть в бд на аксесс 2 таблицы:
1)НазначенияСотрудникам(Код-счетчик, ключевое;Сотрудник-целое число;Объект - строка;Документ-целое число; ЧасовПлан-одинарное с плавающей точкой,Часовфакт - одинарное с плавающей точкой;ДатаНачалаПлан - дата, краткий формат;ДатаОкончанияПлан - дата, краткий формат;ДатаОкончанияФакт - дата, краткий формат)
2)ЕжТрудозатрата(Код-счетчик, ключевое; Объект - строка;Назначение - целое, внешний ключ из первой таблицы; ВремяНаДокумент - одинарное с плавающей точкой; Дата - дата, краткий формат)
Объект - это цифро-буквенный шифр договора с клиентом. В первую таблицу заносятся все работы сотрудников по объекту.Во вторую таблицу каждый день каждый сотрудник пишет, сколько часов потратил на свои работы - в поле ВремяНаДокумент. Появилась задача вывести в виде одной таблицы данные: сумма плановых часов по объектам(ЧасовПлан);сумма часов, списанных до заданной даты, сумма списанных часов в заданном интервале дат; остаток часов - от первой суммы отнять 2-ю и 3-ю. Отдельными запросами я выводил каждую из 3-х сумм, все правильно выводилось. А можно ли (и как это сделать)вывести все данные в одной выборке? я попробовал вывести сумму плановых часов и сумму списанных до даты в одном запросе:
SELECT НазначенияСотрудникам.Объект, SUM(НазначенияСотрудникам.КолЧасовПлан) AS СуммаПлановыхЧасов, SUM(ЕжТрудоЗатрата.ВремяНаДокумент) AS [Списано часов до начала периода]
FROM ЕжТрудоЗатрата LEFT JOIN НазначенияСотрудникам ON ЕжТрудоЗатрата.Назначение = НазначенияСотрудникам.Код
WHERE (((ЕжТрудоЗатрата.Дата)<=[Начало периода]))
GROUP BY НазначенияСотрудникам.Объект;
Сумму плановых какую то неправильную выводит...сверял с данными в таблице... факт правильно считает...
http://www.sql.ru/forum/1096851/vyvod-neskolkih-rezultatov-po-neskolkim-usloviyam-v-odnoy-vyborke
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-