i ont des problèmes avec following-instruction SQL (garni):« colonne XYZ doit être dans le groupe par » -> « ne peut pas regrouper par colonne globale »
SELECT nr,
(CASE WHEN
SUM(vkdtab.amount*liter)<>0 AND
jjjjmm BETWEEN 201001 and 201009
THEN SUM(net)/SUM(vkdtab.amount*liter)
ELSE 0 END) as return
FROM tab
GROUP BY 1,2,3
Il devrait me donner le montant/litre de éléments dans un délai spécial, mais j'obtiens l'erreur: column return must be in group by
Après avoir ajouté cette colonne: cannot group by aggregate column
.
Ceci est fonctionnel, juste sans délai:
CASE WHEN
SUM(vkdtab.amount*liter)<>0
THEN SUM(net)/SUM(vkdtab.amount*liter)
ELSE 0 END
Comment puis-je ajouter le délai sans avoir une erreur?
Quel RDBMS est-ce? Je n'ai pas vu la syntaxe 'GROUP BY 1,2,3' avant. –
@Martin Smith: MySQL le permet apparemment. – gbn
Est-ce que c'est juste moi ou vous situez une table qui n'est pas dans votre requête? Où est la jointure à vkdtab? – HLGEM