У меня есть таблица ниже, в которой мне нужно подсчитать случаи, когда конкретная группа находится в определенном статусе шлюза. Я ищу оператор Access SQL для достижения этой цели, пожалуйста. Ваша помощь очень ценна!
Нужен запрос, чтобы показать это:
В зависимости от ваших группировок вы можете рассмотреть возможность создания таблицы поиска в MS Access. Просто создайте один столбец в таблице для всех различных статусов, которые вы можете получить в своих данных. Затем просто оставьте внешнее соединение с ним с помощью SQL, и это приведет к получению всего статуса, даже если в вашем наборе данных он отсутствует, если вы установили для соединения левое внешнее или все включено в MS Access.


Чтобы включить несуществующие элементы в заголовки столбцов (например, Gate2 здесь), укажите их в предложении PIVOT:
TRANSFORM NZ(COUNT([Task]),0) AS N
SELECT [Group]
FROM [table name]
GROUP BY [Group]
PIVOT [Status] IN ("Gate1","Gate2","Gate3","Gate4","Gate5")
Можно ли добавить в PIVOT еще один столбец со значением NULL? У меня есть несколько записей, которые имеют значение NULL, и я хотел бы также их посчитать. Я попробовал добавить двойные кавычки в столбец, но это не сработало. <br/> PIVOT [Status] IN ("", "Gate1","Gate2","Gate3","Gate4","Gate5") не работал.
@Magicman200777, попробуй PIVOT [Status] IN (null ,"Gate1","Gate2","Gate3","Gate4","Gate5")
ты гений мой друг!!! Большое спасибо!!! Когда вы начинаете изучать SQL и не знакомы со всеми его возможностями, вы не знаете, чего не знаете, так что это отстой... LOL Кроме того, вам нужно научиться используйте этот редактор на этом форуме... :(
В столбце статуса отсутствуют данные Gate2. Вы не сможете создать столбец, пока не добавите его в свой набор данных. Как только вы получите эти данные, я бы использовал группу перекрестных запросов по оси X и статус по оси Y, а затем для агрегирования использовал бы идентификатор или задачу для подсчета экземпляров.