-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Объединение столбцов запроса на выборку и перекрестного запроса

Четверг, 13 Августа 2015 г. 22:16 + в цитатник
Добрый вечер, уважаемые форумчане!Помогите,пожалуйста, с вопросом объединения столбцов перекрестного запроса и обычного запроса на выборку. Перекрестный запрос с переменным количеством столбцов.

Запрос на выборку: (Запрос4)


SELECT DISTINCT Подтип_расх.Подтип_расх,
Nz([Общие],0)+Nz([Не акцептованные],0)+Nz([Прочие],0)+Nz([Летный состав],0)+Nz([Стюарты],0) AS [Сумма затрат],

(SELECT SUM(Затраты.Сумма) FROM Затраты
WHERE Затраты.№_рейса IS NULL AND Затраты.Прочие IS NULL
AND Затраты.Подтип_расх=Подтип_расх.Подтип_расх GROUP BY Подтип_расх.Подтип_расх) AS Общие,

(SELECT SUM(Затраты.Сумма) FROM Затраты
WHERE (Затраты.Дата_сост_отчета>Затраты.Дата_услуги OR Затраты.Дата_сост_отчета>Format(Затраты.Дата,"mmmm yyyy"))
AND Затраты.Подтип_расх=Подтип_расх.Подтип_расх
GROUP BY Подтип_расх.Подтип_расх) AS [Не акцептованные],

(SELECT SUM(Затраты.Сумма) FROM Затраты
WHERE Затраты.Прочие IS NOT NULL AND Затраты.Подтип_расх=Подтип_расх.Подтип_расх
GROUP BY Подтип_расх.Подтип_расх) AS Прочие,

(SELECT SUM(Затраты.Сумма) FROM Затраты
WHERE Затраты.КВС IS NOT NULL AND Затраты.Второй_пилот IS NOT NULL AND Затраты.Подтип_расх=Подтип_расх.Подтип_расх
GROUP BY Подтип_расх.Подтип_расх) AS [Летный состав],

(SELECT SUM(Затраты.Сумма) FROM Затраты
WHERE Затраты.Стюарты IS NOT NULL AND Затраты.Подтип_расх=Подтип_расх.Подтип_расх
GROUP BY Подтип_расх.Подтип_расх) AS Стюарты
FROM Подтип_расх, Затраты
WHERE (Format(Затраты.Дата,"mmmm yyyy") LIKE [Введите_месяц_год] OR Затраты.Дата_услуги LIKE [Введите_месяц_год])
AND Затраты.Серийный_ВС=[Введите серийный номер ВС];

Перекрестный запрос: (Запрос2)


PARAMETERS [Введите_месяц_год] Text ( 255 ), [Введите серийный номер ВС] Text ( 255 );
TRANSFORM SUM(Затраты.Сумма) AS [SUM]
SELECT Подтип_расх.Подтип_расх AS [Статьи затрат]
FROM Подтип_расх, Затраты
WHERE Затраты.[№_рейса] IS NOT NULL
AND Затраты.Подтип_расх=Подтип_расх.Подтип_расх
AND (Format(Затраты.Дата,"mmmm yyyy") LIKE [Введите_месяц_год]
OR Затраты.Дата_услуги LIKE [Введите_месяц_год]) AND Затраты.Серийный_ВС=[Введите серийный номер ВС]
GROUP BY Подтип_расх.Подтип_расх
PIVOT Затраты.[№_рейса] & " " & Затраты.а_п_выл & " " & Затраты.Дата;

При подстановке перекрестного запроса в обычный в виде:

SELECT DISTINCT Подтип_расх.Подтип_расх,
Nz([Общие],0)+Nz([Не акцептованные],0)+Nz([Прочие],0)+Nz([Летный состав],0)+Nz([Стюарты],0) AS [Сумма затрат],

(SELECT SUM(Затраты.Сумма) FROM Затраты WHERE Затраты.№_рейса IS NULL AND Затраты.Прочие IS NULL AND Затраты.Подтип_расх=Подтип_расх.Подтип_расх GROUP BY Подтип_расх.Подтип_расх) AS Общие,

(SELECT SUM(Затраты.Сумма) FROM Затраты
WHERE (Затраты.Дата_сост_отчета>Затраты.Дата_услуги
OR Затраты.Дата_сост_отчета>Format(Затраты.Дата,"mmmm yyyy"))
AND Затраты.Подтип_расх=Подтип_расх.Подтип_расх
GROUP BY Подтип_расх.Подтип_расх) AS [Не акцептованные],

(SELECT SUM(Затраты.Сумма) FROM Затраты
WHERE Затраты.Прочие IS NOT NULL AND Затраты.Подтип_расх=Подтип_расх.Подтип_расх
GROUP BY Подтип_расх.Подтип_расх) AS Прочие,

(SELECT SUM(Затраты.Сумма) FROM Затраты
WHERE Затраты.КВС IS NOT NULL AND Затраты.Второй_пилот IS NOT NULL AND Затраты.Подтип_расх=Подтип_расх.Подтип_расх
GROUP BY Подтип_расх.Подтип_расх) AS [Летный состав],

(SELECT SUM(Затраты.Сумма) FROM Затраты
WHERE Затраты.Стюарты IS NOT NULL
AND Затраты.Подтип_расх=Подтип_расх.Подтип_расх
GROUP BY Подтип_расх.Подтип_расх) AS Стюарты,

(SELECT * FROM Запрос2)
FROM Подтип_расх, Затраты
WHERE (Format(Затраты.Дата,"mmmm yyyy") LIKE [Введите_месяц_год]
OR Затраты.Дата_услуги LIKE [Введите_месяц_год])
AND Затраты.Серийный_ВС=[Введите серийный номер ВС];
получаем ошибку "" не распознается ядром СУБД MA как допустимое имя поля или выражения.Я так понимаю при пересечении для перекрестного запроса выборка ничего не дает и из-за этого появляется данная ошибка. Подскажите,пожалуйста,какими методами можно это обойти? Или как то иначе можно получить данный вид отчета. Примерный вид отчета также приложил.

http://www.sql.ru/forum/1170697/obedinenie-stolbcov-zaprosa-na-vyborku-i-perekrestnogo-zaprosa


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку