Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno 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

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Keď zoskupuješ dáta pomocou GROUP BY, tak polia, ktoré vyberáš, musia byť buď tie, podľa ktorých zos…
los 08.02.2011 11:19
los
diky moc za vysvetleni, uz jsem to pochopil a uz to funguje poslední
Novacek22 08.02.2011 12:01
Novacek22

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ť.

Zpět do poradny Odpovědět na původní otázku Nahoru