2015-11-09 2 views
0

Я пытаюсь сгруппировать свой запрос, чтобы мои результаты отображались только один раз для каждого номера учетной записи. Ниже я использую sql.Группировка запросов и подзапросов в SQL

`select top 10 c.svc, sum(c.tx_amt) as "Total Payments", d.fyear_name, d.fmonth_name, c.acctnbr_int, 
(select iif(datediff("d",c.svc_dte,c.pst_dte)<=6 and c.trans_cd in ('0092001','0092051','0093201','0093204','0093212','0093601','0093652','0093653','0093654','0093655','0093701','0096316','0096351','0096366', 
'0096405','0096407','0096408','0096409','0096422','0096452','0096455','0096456','0096459','0096473','0096474','0091551'),sum(c.tx_amt),0)) as "POS Payments" 
from rptg.vwall_chg_tx_plus c 
join rptg.vwdim_date d on c.pst_dte = d.day_date 
where c.Pst_Dte > '09/30/2015' and c.Pst_Dte < '11/1/2015' 
and c.Svc = '002' 
and c.pt_acct_ctg_nme <> 'inpatient' 
and c.trans_cd in ('0093101','0093102','0093151','0093152','0093251','0096302','0096303','0096304','0096305','0096306','0096307','0096308','0096309','0096311','0096312', 
'0096313','0096314','0096322','0096343','0096352','0096353','0096354','0096355','0096356','0096357','0096358','0096359','0096361','0096362','0096363','0096364','0096367', 
'0096372','0096375','0096380','0096381','0096382','0096383','0096392','0096398','0096399','0096426','0096454','0096458','0096477','0096478','0098353','0098354','0098400', 
'0098401','0092001','0092051','0093201','0093204','0093212','0093601','0093652','0093653','0093654','0093655','0093701','0096316','0096351','0096366','0096405','0096407', 
'0096408','0096409','0096422','0096452','0096455','0096456','0096459','0096473','0096474','0091551','0093254','0093272','0093751','0096395','0096406','0096410','0096412', 
'0096413','0096451','0096457','0096472','0099201') 
and c.AcctNbr_int in ('3215385349')` 

Результат: SVC Всего платежей fyear_name fmonth_name acctnbr_int POS Платежи 002 -150,00 FY 2016 FY16 M4 3215385349 -150,00 002 -100,00 FY 2016 FY16 M4 3215385349 -100,00

Но результат должен быть: Svc POS ФЭУ Всего ФЭУ FYear_name fmonth_name AcctNbr_int Insrnc_Pyr_Cde 002 ($ 250,00) ($ 250,00) FY 2016 FY16 M4 3215385349 SELF PAY

Когда я пытаюсь группы пунктов и суммы (c.tx_amt) Я получаю сообщения об ошибках об агрегатах или подзапросах, которые не разрешены в разделе group by.

Благодаря

ответ

0

Я был в состоянии понять это. Добавление суммы к подзапросу дало мне желаемые результаты.

(выбрать сумму (IIF (DATEDIFF ("d", c.svc_dte, c.pst_dte) < = 6 и c.trans_cd в ('0092001', '0092051', '0093201',» 0093212 ',' 0093212 ',' 0093601 ',' 0093652 ',' 0093653 ',' 0093654 ',' 0093655 ',' 0093755 ',' 0096316 ',' 0096351 ',' 0096366 ', ' 0096405 ',' 0096407 ' », '0096408', '0096409', '0096422', '0096452', '0096455', '0096456', '0096459', '0096473', '0096474', '0091551'), сумма (c.tx_amt), 0))) как «POS-платежи»

Смежные вопросы