ho les gorets 
 
-> Bon, déjà, les sous-requêtes, il faut toujours qu'elles retournent un MINIMUM de lignes, donc je ne veux voir que des COUNT() dedans.
-> Un UNION sur une donnée calculée, c'est pas une bonne idée, car il fait un distinct implicit. En plus, c'est lent. (ça l'est d'autant plus avec vos "select 1 from" parceque le union final ne retourne qu'une seule ligne, et ça a mis 3 plombes à la trouver...)
 
Bon, la solution qui marche et qui est rapide :
 
Code :
 - select sum(val)
 - from (
 -   select count(*) val from a
 -   union all
 -   select count(*) val from b
 -   union all
 -   select count(*) val from c
 -   union all
 -   select count(*) val from d
 - )
 
  | 
 
Et voilà.
 
Message édité par Arjuna le 27-07-2005 à 10:57:28