Я попытался найти ответы на все вопросы, но никто не ответил на мою точную проблему. У меня есть то, что должно быть относительно простым запросом. Тем не менее, я очень новый и до сих пор изучаю SQL.
Мне нужно запросить два столбца с разными датами. Я хочу вернуть строки с текущим количеством учетных записей и текущим непогашенным балансом и в том же запросе, вернуть строки для тех же столбцов с данными за 90 дней до этого. Таким образом, мы можем видеть, сколько количество счетов и баланса увеличилось за последние 90 дней. Оптимально, я ищу результаты следующим образом:SQL - запрос одного и того же столбца дважды с разными датами в where, где пункт
PropCode|PropCat|Accts|AcctBal|PriorAccts|PriorBal|
----------------------------------------------------
77 |Comm | 350 | 1,000| 275 | 750
Ниже приводится мой начальный запрос. Я понимаю, что это совершенно неправильно, но я пробовал много разных попыток решения, но никто не работает для моей конкретной проблемы. Я включил его, чтобы дать представление о моих потребностях. Акты & Столбцы AcctBal будут содержать данные 1/31/14. Столбец PriorAcct & PriorBal будет содержать данные 10/31/13.
select
prop_code AS PropCode,
prop_cat,
COUNT(act_num) Accts,
SUM(act_bal) AcctBal,
(SELECT
COUNT(act_num)
FROM table1
where date = '10/31/13'
and Pro_Group in ('BB','FF')
and prop_cat not in ('retail', 'personal')
and Not (Acct_Code = 53 and ACTType in (1,2,3,4,5,6,7))
)
AS PriorAccts,
(SELECT
SUM(act_bal)
FROM table1
where date = '10/31/13'
and Pro_Group in ('BB','FF')
and prop_cat not in ('retail', 'personal')
and Not (Acct_Code = 53 and ACTType in (1,2,3,4,5,6,7))
)
AS PriorBal
from table1
where date = '01/31/14'
and Pro_Group in ('BB','FF')
and prop_cat not in ('retail', 'personal')
and Not (Acct_Code = 53 and ACTType in (1,2,3,4,5,6,7))
group by prop_code, prop_cat
order by prop_cat
Вы используете MySQL или SQL Server? Пожалуйста, отметьте вопрос соответствующим образом. –
Используйте PIVOT для этого –
SQL Server. Извиняюсь за мою неклейку. –