У меня есть данные для задач, выданных в супермаркетах, организованных:
- task_id - каждая отдельная задача имеет уникальный идентификатор
- store_id - каждый магазин имеет уникальный номер, идентифицирующий его
- week_start - начало недели, когда была назначена задача
- категория - тип задания (кетчуп, горчица, хот-доги, бекон, ...)
- busy - переменная true / false, если прогнозировалось, что она будет занята на этой неделе
- manager - имя менеджера магазина
В настоящее время данные упорядочены по task_id (отдельная задача). Я бы хотел, чтобы они были упорядочены по магазинам и неделям, а затем подсчитывали количество задач, назначенных в категории на каждую неделю.
Кроме того, столбец категории в настоящее время слишком гранулированный, и я хотел бы сгруппировать хот-доги, бекон, индейку и т. Д. В качестве мяса и кетчупа, горчицу, майонез в качестве соуса.
Я, по сути, пытаюсь отразить результаты того, что будет в сводной таблице, где store_id, week_start, busy и manager - это строки, категория - как столбцы, а затем сумма категории как данные в середине. Но в этом случае категория стала менее гранулированной с индексом (функция соответствия.
Я попытался запустить что-то похожее на
'' '' SQL
SELECT store_id, week_start, busy, mananger
COUNT(CASE WHEN category = 'hotdog' or 'bacon' or 'turkey') AS MEAT,
COUNT(CASE WHEN category = 'ketchup' or 'mustard') AS Sauce
FROM table1
GROUP BY store_id, week_start;
но получаю ошибку:
AnalysisException: синтаксическая ошибка в строке 2: не определено: соус "кетчуп")
^ Обнаружено: как и ожидалось: AND, МЕЖДУ, DIV, ILIKE, IN, IREGEXP, IS, LIKE, NOT, OR, REGEXP, RLIKE, THENED BY: BY Исключение: синтаксическая ошибка