Sql-запрос или дизайн запроса Microsoft-Access для представления данных следующим образом
Я пытаюсь создать запрос в Microsoft-Access, который должен представлять данные следующим образом:
Car Make Black White Red
Total 2-door 4-door Total 2-door 4-door Total 2-door 4-door
---------------------------------------------------------------------------------------------------
Honda 4 2 2 3 1 2 4 3 1
Toyota 3 1 2 5 3 2 6 1 5
Ford 2 0 2 0 0 0 1 0 1
В конструкторе запросов Ms-Access я не могу добавить более одного поля, которое имеет разные критерии (например, белый против черного). Если я попытаюсь, это ничего не даст мне в виде таблицы (как если бы он попытался найти общий автомобиль, который был бы белым и черным). Пожалуйста, сообщите мне SQL-запрос, который я могу использовать вместо этого.
РЕДАКТИРОВАТЬ 1
Car Table:
-CarMake "Short text"
-Color "Short text"
-Door "Short text" (2-door or 4-door)
РЕДАКТИРОВАТЬ 2
Это то, о чем я говорил. Как добавить сюда больше полей с разными критериями для.eg white:
1 ответ
Два предложения -
Во-первых, вы можете объединить цвет и стиль в одну переменную и использовать это в запросе кросс-таблицы - но вы не получите промежуточные итоги для цветов.
Во-вторых, вы можете использовать операторы iif в каждом столбце, чтобы точно определить, что вы хотите. Столбец 1 будет суммой (iif(color="black",value,0)). Столбец 2 будет суммой (iif (color = "black" и model="2-door",value,0)). И так далее. Не так просто, как 1-й вариант, но вы получите именно те столбцы, которые вам нужны.
SELECT Car.CarMake, Sum(IIf([color]="black",1,0)) AS BlackTotal, Sum(IIf([color]="black" And [door]="2-door",1,0)) AS Black_2D
FROM Car
GROUP BY Car.CarMake;