Requête multi-table (variable)

Résolu/Fermé
Nowne Messages postés 89 Date d'inscription samedi 30 octobre 2010 Statut Membre Dernière intervention 7 mars 2011 - 1 févr. 2011 à 20:39
Nowne Messages postés 89 Date d'inscription samedi 30 octobre 2010 Statut Membre Dernière intervention 7 mars 2011 - 3 févr. 2011 à 01:11
Bonjour,

Je recherche le moyen de récupérer des données issu de plusieurs tables différentes et dont le nombre de table varie. Je souhaite donc faire une requête qui récupère des id dans une base de donnée et ensuite les renvoyer faire une requête qui récupère d'autre données issue de toutes les tables ayant l'id séléctionné. Mais je ne vois pas comment récupérer les données. On m'a parlé de procédure, j'ai regardé ca ne semble pas être ca. Et j'ai également testé les TABLE VIEW pour récupérer les résultats, mais ca ne fonctionne pas. Comment faire...

Pour ceux qui n'aurait pas compris, je vais vous donner un exemple connu, celui de Facebook. Comment font-il pour récupérer tous les derniers statuts des membres ? (En clair il vont voir les amis du membre, et regarde dans leur table leurs dernière actions pour les retourné sur le fils d'actualité. C'est a peu prêt ce que je cherche à faire.)

Merci d'avance et ceux qui pourront m'aider (je bloque depuis 2 jours...) et à ceux qui ont lu.


2 réponses

Bonjour,

L'exemple de Facebook est simple

Table user
id_user integer // identifiant de l'utilisateur
nom Varchar // nom de l'utilisateur

Table amis
id_user integer // identifiant de l'utilisateur
id_amis integer // identifiant d'un de ses amis

Table Status
id_status integer // numéro du status
id_user integer // user ayant posté le status
status Varchar // texte du status
date Datetime // date du status

// dix derniers status des amis où 10 est votre id_user
select
status.date, status.status, user.nom
from
status, user
where
status.id_user in (select id_amis from amis where id_user=10)
and
status.id_user = user.id_user
order by id_status desc
limit 0,10

C'est l'esprit, je ne l'ai pas testé donc... Mais le principe c'est d'utiliser une sous requête et une jointure où tout faire en jointure, là ce n'est pas franchement optimisé en fait.

Cordialement

Signature non conforme - Publicité supprimée Modération CCM
0
Nowne Messages postés 89 Date d'inscription samedi 30 octobre 2010 Statut Membre Dernière intervention 7 mars 2011 4
3 févr. 2011 à 01:11
Eh bien j'ai créer un système qui ressemble à moins que ce soit le même

Je prend une table avec les infos du membre et la table de ces amis.
Je lie les deux et fait une requête pour récupérer les deux au sein d'une table.
Je vais la requête que je veux pour afficher les type de donnée que je veux.

Merci quand même internetwebservices !
0