Я буду использовать свой вывод для размещения в сводной таблице Excel. Данные относятся к кредитным счетам, которые либо были сняты, либо нет.SQL Case Statement или другой метод?
EDIT: Если в сводной таблице проверяется перезагрузка, я хочу, чтобы столбец totalaccounts составлял счет всех учетных записей независимо от значения chargeoffdate. Если перезагрузки остаются непроверенными, я хочу, чтобы totalaccounts считался счетом всех учетных записей, когда chargeoffdate имеет значение NULL.
Вот мой SQL синтаксис до сих пор:
SELECT
c.brand,
CASE WHEN a.chargeoffdate IS NULL THEN 'No Chargeoffs'
-- Below here should not be only chargeoffs, it should be chargeoffs + the column above ^^^
WHEN a.chargeoffdate IS NOT NULL THEN 'Chargeoffs'
ELSE 'Unknown' END AS chargeoffs,
COUNT(*) AS totalaccounts
FROM accounts
GROUP BY brand, chargeoffs
Вы можете увидеть комментарии в моем SQL, чтобы понять, что я буду за, но я не могу понять, как это сделать.
Я пробовал:
CASE WHEN a.chargeoffdate IS NULL THEN 'No Chargeoffs'
-- Below here should not be only chargeoffs, it should be chargeoffs + the column above ^^^
WHEN (a.chargeoffdate IS NOT NULL OR a.chargeoffdate IS NULL) THEN 'Chargeoffs Included'
ELSE 'Unknown' END AS chargeoffs
Но получили те же результаты, что и верхний запрос по какой-либо причине. Благодарю.
ДРУГОЙ EDIT: OUTPUT DESIRED
BRAND 1 | WITH CHARGEOFFS | COUNT(TOTALACCOUNTS)
BRAND 1 | WITHOUT CHARGEOFFS | COUNT(TOTALACCOUNTS)
BRAND 2 | WITH CHARGEOFFS | COUNT(TOTALACCOUNTS)
BRAND 2 | WITHOUT CHARGEOFFS | COUNT(TOTALACCOUNTS)
Столбец «Зарядка» и «Без перезарядки» на столе или значения в столбце таблицы? –
Это похоже на странное условие: 'a.chargeoffdate IS NOT NULL ИЛИ a.chargeoffdate IS NULL' вы знаете, что он всегда будет оценивать истину? –
chargeoffdate - столбец. если он недействителен, они не взимаются иным образом. chargeoffs - это просто псевдоним, и вот как я группирую оператор case, поэтому его можно использовать в сводной таблице –