Добрый вечер, уважаемые форумчане!Помогите,пожалуйста, с вопросом объединения столбцов перекрестного запроса и обычного запроса на выборку. Перекрестный запрос с переменным количеством столбцов.
Запрос на выборку: (Запрос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