Все столбцы и строки в перекрестном запросе!

NewPlayer7
Дата: 01.03.2008 17:23:00
Здравствуйте!
Не получается вывести все столбцы и сторки в перекрёсном запросе при добавлении условии!!!
Когда условии нет всё хорошо получается! Как ставлю условие выводит всё правильно, но не выводит те значения которые не попадают под условия, а должен!
в запросах Сводный_кол Сводный_сум всё получается! а в запросе Сводный (там добавляется условие не получается) надо что бы выводил все подразделения и все этапы даже если там нули!
Подскажите пожалуйста!
NewPlayer7
Дата: 02.03.2008 13:27:30
Помогите пожалуйста!
mds_world
Дата: 02.03.2008 16:59:54
Правильно ли я понимаю, что вам нужно, вне зависимости от наличия данных показывать все возможные столбцы и строки в запросе? Если так, то попробуйте такой
TRANSFORM Count(r.id) AS [Count-id]
SELECT t.Подразделение, Count(r.id) AS [Итоговое значение id]
From
   (SELECT Подразделение.Подразделение, Этап.Этап
   FROM Подразделение, Этап
   group by Подразделение.Подразделение, Этап.Этап ) t, 
   (select * from ЗГлавный  WHERE ЗГлавный.[Дата первых переговоров по сделке] Between Date()-7 And Date()) r,
   t Left join r on t.Подразделение=r.Подразделение And  t.Этап=r.Этап
GROUP BY t.Подразделение
PIVOT t.Этап;

Кстати, если число, 7 в вашем случае не константа, а переменная, то лучше воспользоваться предложением Parameters в запросе.
NewPlayer7
Дата: 02.03.2008 19:29:05
Спасибо большое!!! всё именно так!!! я бы не додумался вложенный селект вложить!!!))) извеняюсь за тавтологию!!!!!
Ещё раз спасибо!
NewPlayer7
Дата: 02.03.2008 19:42:56
Да число 7 переменная! а как бы выглядел запрос если пользоваться Parameters!
я им ни разу не пользовался! я вообще с запросами впервый раз столкнулся! приходится разбираться!
mds_world
Дата: 02.03.2008 19:55:36
Предложение Parameters позволяет задать ввод "внешнего" значеня в запрос и описывает имя и тип данных каждого параметра в запросе с параметрами
Parameters [Колво дней] int;
TRANSFORM Count(r.id) AS [Count-id]
SELECT t.Подразделение, Count(r.id) AS [Итоговое значение id]
From
(SELECT Подразделение.Подразделение, Этап.Этап
FROM Подразделение, Этап
group by Подразделение.Подразделение, Этап.Этап ) t,
(select * from ЗГлавный WHERE ЗГлавный.[Дата первых переговоров по сделке] Between Date()- [Колво дней] And Date()) r,
t Left join r on t.Подразделение=r.Подразделение And t.Этап=r.Этап
GROUP BY t.Подразделение
PIVOT t.Этап;

Это значение можно задавать вручную или передавать из формы или процедуры
NewPlayer7
Дата: 03.03.2008 12:22:01
Ух ты!!! Спасибо!!! полезная штучка!!!