Bonjour

j'ai un problème avec la commande LIMIT de MySQL lorsque je fais un UNION
exemple, je fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
select *
from ville
where date > $dateDebut
and date < $dateFin
limit 0,3000
UNION
select *
from ville_archive
where date > $dateDebut
and date < $dateFin
limit 0,3000
là ça fonctionne bien. Mais les 2 tables réunies contiennent plus d'enregistrements
Donc je fais après: (via une boucle puis je push les enregistrement dans un tableau)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
select *
from ville
where date > $dateDebut
and date < $dateFin
limit 3000,3000
UNION
select *
from ville_archive
where date > $dateDebut
and date < $dateFin
limit 3000,3000
Mais il ne retourne aucun enregistrement... je comprends pas... ?

car quand je fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
select *
from ville
where date > $dateDebut
and date < $dateFin
UNION
select *
from ville_archive
where date > $dateDebut
and date < $dateFin
il me retourne 3752 enregistrements!

Donc il m'en manque 752 qu'il devrait trouver.
Non?

Si je retire le UNION, je fais les requêtes séparements via LIMIT 3000,3000
ça fonctionne :s

Est-ce que je suis clair?
Quelqu'un a déjà eu ce type de problème?


Merci d'avance