Comment mixer les résultats provenant de 4 requêtes SQL ?

WRInaute passionné
Bonjour,

Voilà, j'ai 4 tables construites sur le même modèle (mêmes champs).
Je voudrais faire une requête (ou 4) qui me permette d'aller chercher les 5 derniers tuples de chacune de ces 4 tables puis de mixer les 20 résultats en un seul tableau, ordonné selon la date des 20 tuples.

Savez-vous comment faire cela, s'il vous plait ?
 
WRInaute accro
Nope, ça ce sont des jointures. Ce que tu veux (a priori) c'est un UNION...

SELECT blabla FROM table etc. UNION SELECT blabla FROM table etc.

Le nombre et le type des colonnes doivent être les mêmes dans chaque select.

Attention aux limitations sur les LIMIT et ORDER BY dans ce genre de requête. C'est tout expliqué dans la doc avec exemples et tout ça.

(ben oui, il y a une doc pour mysql).

Jacques.
 
WRInaute passionné
Salut à vous,

En fait à bien y réfléchir après une nuit de sommeil, je sens que la requête va être un véritable cauchemar, vu qu'il y a en plus des informations à aller chercher dans d'autres tables... Clef étrangère + Union + order + limit... Rien que d'imaginer le monstre, j'ai peur.

Je pense qu'il est plus sage de faire 4 requêtes simples et propres. Dans tirer 4 tableaux PHP. Puis de mélanger ces 4 tableaux en ordonnant les lignes selon une variable commune au 4.

Plus facile à dire qu'à faire. Je vais farfouiller sur le net, mais si vous avez déjà une idée (ou un script :mrgreen: ), cela va me s'implifier la tâche je crois...
 
Discussions similaires
Haut