SQL - как создать учетную запись запроса для всех потенциальных идентификаторов - PullRequest
0 голосов
/ 23 июня 2011

Есть 10 возможных строительных площадок, которые мне нужно учитывать в моем отчете.Однако, как мой код сейчас, когда сайт строительства не находится в моей базе данных, он вообще не учитывается, что имеет смысл, но я бы предпочел, чтобы в нем перечислялись все возможные сайты строительства и вместо него указывалось бы значение 0.ничего не возвращать.Причина, по которой мне нужно это сделать, заключается в том, что я создаю отчеты, основанные на этих запросах, и сложно все выстроить в линию, если у меня не будет всех учетных площадок, которые постоянно учитываются.Вот SQL:

TRANSFORM Count(Main.ID) AS CountOfID
SELECT 'Total IDs' AS [Construction site   >>>]
FROM Research INNER JOIN Main ON Research.Primary_ID = Main.ID
GROUP BY 'Total IDs'
PIVOT Research.Construction_site;

Кстати, я использую MS Access 2007, что имеет значение.

Спасибо

Ответы [ 2 ]

1 голос
/ 23 июня 2011

Если я правильно читаю ваш вопрос, вам нужны все поля из таблицы Research, независимо от того, находятся ли они в таблице Main. В этом случае вам просто нужно LEFT OUTER JOIN:

TRANSFORM Count(Main.ID) AS CountOfID
SELECT 'Total IDs' AS [Construction site   >>>]
FROM Research LEFT OUTER JOIN Main ON Research.Primary_ID = Main.ID
GROUP BY 'Total IDs'
PIVOT Research.Construction_site;

Это вернет все строки из таблицы Research как минимум один раз - и несколько раз , если они существуют более одного раза в таблице Main.

0 голосов
/ 23 июня 2011

Скорее всего, вам нужно заменить INNER JOIN на LEFT JOIN.(То есть просто замените «ВНУТРЕННИЙ» на «ВЛЕВО».) Таким образом, строительные площадки, не представленные в Main, не будут отфильтрованы.

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