

SQL Dotaz v Accessu
Zdravim, mam dotaz k SQL dotazum v Accesu.
Mam tabulku a napsal jsem nasledujici sql query
SELECT Exposure_Class,
Tranche_Type_Code,
SUM(tranche_exposure)/1000+SUM(accrued_fees)/1000 AS Exposure_KCZK
FROM sm_kb_local_ratio
WHERE correction_flag = '1'
AND date_valid = '2010-12-31'
AND (inter_company ='F' OR inter_company IS NULL)
AND default_indicator ='T' --- proč nepoužije custommer_evaluation?
AND import_source = 'BCE'
GROUP BY tranche_exposure, accrued_fees
;
Hazi mi to chybu "you tried to execute a query that does not include the specified expression as part of an aggregate function"
Mam takovy pocit ze to je tim ze nektere pole v tranchee exposure a accrued fees jsou prazdne (ne nula).
Muze to byt tim? Pripadne EXISTUJE nejaka funkce v Accesu aby vzala napr IFNULL=0? nebo jak toto resit na urovni vystupu (nemuzu modifikovat zdrojova data)?
Diky
V Accessu sice nepracuji, ale dle mého názoru nejsou v souladu řádky :
Nevím přesně ,co chceš groupovat. Zkus zadat na zkoušku :
Ahoj, diky za radu, bohuzel to nepomohlo:
potreboval bych nejaky takovyto vystup:
Tj strucne receno excelove subtotaly podle class a type a k tomu vzdy odpovidajici sumy KCZK a KEUR pro dany type a class
Exposure_Class Tranche_Type_Code Exposure_KCZK Exposure_KEUR
3 1 21 545 461
7 1 13 293 570
7 4 519 20
8 1 11 161 3 797
13 1 2 151 644 235 564
13 2 15 124 436
13 4 110 719 11 201
14 1 1111 857 524 213 439
14 2 23 190 5 913
14 4 117 189 23 829
14 5 1 605 1 580
18 1 2 632 510 12 299
18 2 1 125 221
V GROUP BY majú byť tie polia, podľa ktorých chceš zoskupovať:
Keď zoskupuješ dáta pomocou GROUP BY, tak polia, ktoré vyberáš, musia byť buď tie, podľa ktorých zoskupuješ, alebo musia byť v agregačnej funkcii (SUM, MAX, ...). Je to tak preto, lebo hodnota poľa v rámci jednej skupiny nadobúda rôzne hodnoty (ak práve podľa toho poľa nezoskupuješ), takže sa nedá vybrať konkrétna hodnota takého poľa.
V tvojom prípade vyberáš polia Exposure_Class a Tranche_Type_Code, podľa ktorých ale nezoskupuješ, takže nie je možné určiť konkrétnu hodnotu, ktorú by to malo vrátiť.
diky moc za vysvetleni, uz jsem to pochopil a uz to funguje