Я пытаюсь создать запрос, который предоставит мне два отдельных COUNT в двух отдельных столбцах. Счет для приложений и счет для одобренных приложений. Я хочу, чтобы эти подсчеты отображались для каждого месяца в течение определенного промежутка времени. Подобно:Несколько GROUP BY с подзапросами
date applications approvals
January 20 3
February 25 1
March 20 4
April 10 2
При использовании подзапросов, я сгруппирован основной запрос, используя "GROUP BY МЕСЯЦА (APPL_CREATE_DT)". Проблема с этим заключается в том, что он только правильно сгруппировал первый столбец, в то время как в следующем столбце был одинаковый подсчет за каждый месяц. Если я добавлю тот же GROUP BY в другой раздел подзапроса, тогда я получу ошибку 1242.
Любые идеи о том, как это сделать, были бы полезны. Я видел другие подобные вопросы, но они не были так зависимы от других предложений для решения.
SELECT
COUNT(DISTINCT APPL_ID) AS Applications,
(SELECT COUNT(DISTINCT APPL_ID)
FROM APPL_APP
JOIN APPU_APP_USER ON APPL_ID = APPU_APPL_ID
LEFT JOIN APPD_APP_DECISION ON APPD_APPL_ID = APPL_ID
WHERE APPD_STATUS = 'LENDER_APPROVED'
AND APPU_CUR_STATE = 'TX'
AND APPL_CREATE_DT >= '2013-01-01 00:00:00'
AND APPL_CREATE_DT <= '2014-01-31 23:59:59'
GROUP BY MONTH(APPL_CREATE_DT)) AS Approvals
FROM APPU_APP_USER
JOIN APPL_APP ON APPL_ID = APPU_APPL_ID
AND APPL_CREATE_DT >= '2013-01-01 00:00:00'
AND APPL_CREATE_DT <= '2014-01-31 23:59:59'
AND APPU_CUR_STATE = 'TX'
GROUP BY MONTH(APPL_CREATE_DT);
В ваших подзапросах выберите только строки, где MONTH() соответствует MONTER() внешнего запроса: т. Е. Тот, который вы группируете по –
. Все еще получая ту же ошибку. Я искал что-то вроде MONTH (внешнийTable.APPL_CREATE_DATE) = MONTH (inner_table.APPL_CREATE_DATE), но я не знаю, где его разместить, чтобы он работал. – user2356890
Хороший способ задать эти вопросы - создать SqlFiddle и позволить людям изменить его для вас. Посмотрите этот пример: http://sqlfiddle.com/#!9/1e85d/5 Кроме того, если вы можете пересмотреть свой запрос как счетчик (*), вы можете, вероятно, подойти к нему по-другому, но это зависит от мощности отношения между App, AppUser и AppDecision. –