MS Access + SQL - левое соединение на операторе switch? - PullRequest
1 голос
/ 08 июля 2011

У меня есть оператор switch в запросе кросс-таблицы:

Switch([Age]<20, "Under 20", [Age]>=20 and <=25, "Between 20 and 25") 
AS **Age_Range**

Оператор switch оценивает мой заголовок строки следующим образом:

                               1       2        3        4        5   <-- Columns


Under 20                       0       0        0        3        2

Between 20 and 25              1       2        0        4        0

Где значение =

Total: Nz(Count(Demo.ID))+0

Хорошо, пока все хорошо. Однако я пытаюсь выполнить левое соединение с оператором switch, чтобы отображались ВСЕ возрастные диапазоны, независимо от того, есть ли данные. Я знаю, что мне нужен стол со всеми возрастными диапазонами, но я в замешательстве.

Вот то, что я пробовал, в настоящее время не работает.

  1. Присоединение оператора switch Age_Range к таблице Age Range, где коррелирующими значениями в таблице являются строки «Менее 20» и «Между 20 и 25» в переключателе. Не работает.

  2. Вместо того, чтобы помещать строковые значения в таблицу, ставим условия ([Возраст] <20 и т. Д.). Однако это не удается, поскольку для помещения условий в таблицу это должно быть текстовое поле. Существует несоответствие данных. </p>

Может кто-нибудь, пожалуйста, дайте мне знать, если это можно сделать и как?

Спасибо

1 Ответ

1 голос
/ 08 июля 2011

Сделать кросс-таблицу отдельным запросом. Затем присоедините этот запрос к вашей таблице элемента в # 1 («до 20» и «от 20 до 25»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...