Fusioner 3 requete select avec même clause et limit

Lakvon03 -  
jordane45 Messages postés 38486 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 :

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:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

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


0