Salut,
Ca doit être possible, en faisant de cette manière par exemple, ça te donne quoi :
SELECT LEFT( CU.customers_from, 3 ) AS Origin, COUNT( CU.customers_id ) AS Effectif_Vg
FROM EN_CUSTOMER CU
INNER JOIN EN_COMMANDES CO ON CU.customers_id = CO.customers_id
WHERE ***CO ou CU ??? *** .customers_gratuite = '1'
GROUP BY LEFT(CU.customers_from, 3)
HAVING COUNT( CU.customers_id ) > 1
UNION
SELECT CU1.customers_from AS Origin, COUNT( CU1.customers_id ) AS Effectif_Vg
FROM EN_CUSTOMER CU1
INNER JOIN JOIN EN_COMMANDES CO ON CU1.customers_id = CO.customers_id
WHERE ***CO ou CU ??? *** .customers_gratuite = '1'
GROUP BY LEFT( CU1.customers_from, 3 )
HAVING COUNT( CU1.customers_id ) = 1
Par contre, c'est à tester, je n'ai pas regardé si tous les cas fonctionnaient... Dans la base que j'ai utilisée pour faire les tests, ça semble bien se passer...
Bon courage,
Message édité par Tibar le 06-05-2009 à 11:39:05