Доступ к использованию SQL Transform и Pivot

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

Группа Задача Положение дел Группа 1 Задание 1 Ворота1 Группа 1 Задача 2 Ворота3 Группа 1 Задача3 Ворота3 Группа 1 Задача4 Ворота4 Группа 1 Задача5 Ворота5 Группа 1 Задача6 Ворота5 Группа 1 Задача7 Ворота5 Группа2 Задание 1 Ворота3 Группа2 Задача 2 Ворота3 Группа2 Задача3 Ворота5 Группа3 Задание 1 Ворота4 Группа3 Задание 1 Ворота4

Нужен запрос, чтобы показать это:

Группа Ворота1 Ворота2 Ворота3 Ворота4 Ворота5 Группа 1 1 0 2 1 3 Группа2 0 0 2 0 1 Группа3 0 0 0 2 0

В столбце статуса отсутствуют данные Gate2. Вы не сможете создать столбец, пока не добавите его в свой набор данных. Как только вы получите эти данные, я бы использовал группу перекрестных запросов по оси X и статус по оси Y, а затем для агрегирования использовал бы идентификатор или задачу для подсчета экземпляров.

user3408245 23.05.2024 20:16

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

user3408245 23.05.2024 23:07
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
3
2
69
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы включить несуществующие элементы в заголовки столбцов (например, 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 25.05.2024 00:47

@Magicman200777, попробуй PIVOT [Status] IN (null ,"Gate1","Gate2","Gate3","Gate4","Gate5")

Shahram Alemzadeh 25.05.2024 10:05

ты гений мой друг!!! Большое спасибо!!! Когда вы начинаете изучать SQL и не знакомы со всеми его возможностями, вы не знаете, чего не знаете, так что это отстой... LOL Кроме того, вам нужно научиться используйте этот редактор на этом форуме... :(

Magicman200777 25.05.2024 22:29

Другие вопросы по теме