Fusioner 3 requete select avec même clause et limit
Lakvon03
-
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir :)
Je sais pas vraiment si c'est possible mais dans un souci de performance j'aimerais savoir si il était possible de fusionner 3 requête "select" en une seule sachant que 2 d'entre elle ont un "LIMIT". elle ont toutes les 3 la même clause. Si oui, un exemple serait le bienvenu car je galère pas mal. merci d'avance.
mes 3 requêtes :
Je sais pas vraiment si c'est possible mais dans un souci de performance j'aimerais savoir si il était possible de fusionner 3 requête "select" en une seule sachant que 2 d'entre elle ont un "LIMIT". elle ont toutes les 3 la même clause. Si oui, un exemple serait le bienvenu car je galère pas mal. merci d'avance.
mes 3 requêtes :
SELECT id , username, avatar FROM users WHERE id = '$id'
SELECT comments_text FROM comments WHERE comments_user_id = '$id' ORDER BY comments_date DESC LIMIT 10
SELECT articles_name , articles_text , articles_note FROM articles WHERE articles_user_id = '$id' ORDER BY articles_date DESC LIMIT 5
A voir également:
- Fusioner 3 requete select avec même clause et limit
- Ai suite 3 - Télécharger - Optimisation
- Picasa 3 - Télécharger - Albums photo
- Photorecit 3 - Télécharger - Visionnage & Diaporama
- Please select boot device ✓ - Forum Windows
- 3 à l'envers ✓ - Forum Windows
1 réponse
Bonjour,
Avec du JOIN pour les USERS
et un UNION pour lier deux requêtes ...
Voila la requête:
Avec du JOIN pour les USERS
et un UNION pour lier deux requêtes ...
Voila la requête:
SELECT 'ARTICLE' as TYPE
, articles_name as NAME
, articles_text as TEXT
, articles_note as NOTE
FROM articles A
LEFT JOIN users U ON U.id = A.articles_user_id
WHERE articles_user_id = '$id'
ORDER BY articles_date DESC LIMIT 5
UNION
SELECT 'COMMENTAIRE' as TYPE
, '' as NAME
, comments_text as TEXT
, '' as NOTE
FROM comments C
LEFT JOIN users U ON U.id = C.comments_user_id
WHERE comments_user_id = '$id'
ORDER BY comments_date DESC LIMIT 10