И / или в доступе и подсчете нескольких полей - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь получить общее количество рекламных акций до 2015 года из следующей таблицы Table

Я использовал следующий код

SELECT COUNT(*) AS [Total Promotions Before 2015] FROM [Employment History] 
WHERE IIF([Date of 1st Promotion]<#1/1/2015#,1,0)
OR  IIF([Date of 2nd Promotion]<#1/1/2015#,1,0)
OR  IIF([Date of 3rd Promotion]<#1/1/2015#,1,0)
OR  IIF([Date of 4th Promotion]<#1/1/2015#,1,0)
OR  IIF([Date of 5th Promotion]<#1/1/2015#,1,0)
;

Тем не менее, это дает мне только количество лиц, у которых есть рекламные акции до 2015 года, а не количество самих рекламных акций. Есть ли способ сделать это как +1 рассчитывать, если продвижение в 1-м году и +1, если во 2-й год и т. д.

1 Ответ

0 голосов
/ 03 мая 2018

Это то, что вы хотите?

SELECT COUNT(*) AS [Total Promotions Before 2015]
FROM [Employment History] 
WHERE [Date of 1st Promotion] < #1/1/2015# OR
      [Date of 2nd Promotion] < #1/1/2015# OR
      [Date of 3rd Promotion] < #1/1/2015# OR
      [Date of 4th Promotion] < #1/1/2015# OR
      [Date of 5th Promotion] < #1/1/2015#;

Но я думаю, что вы действительно хотите:

SELECT SUM(IIF([Date of 1st Promotion] < #1/1/2015#, 1, 0)) +
       SUM(IIF([Date of 2nd Promotion] < #1/1/2015#, 1, 0)) +
       SUM(IIF([Date of 3rd Promotion] < #1/1/2015#, 1, 0)) +
       SUM(IIF([Date of 4th Promotion] < #1/1/2015#, 1, 0)) +
       SUM(IIF([Date of 5th Promotion] < #1/1/2015#, 1, 0))
FROM [Employment History] ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...