2010-09-03 8 views
0

Je voudrais interroger les informations de l'utilisateur comme (prénom, nom, photo, uid) puis joindre des commentaires tels que le texte, l'heure.Requête prénom, nom, photo, de l'utilisateur et joindre avec commentaire

première est la suivante ma requête pour commentaires

SELECT text, time, username, fromid FROM comment WHERE post_id ='123456' 

alors je dois joindre à cette requête avec l'utilisateur

SELECT first_name, last_name FROM user WHERE **uid='fromid'** 

uid de table utilisateur peut se joindre à fromid de la table de commentaire.

comment puis-je le faire?

merci

Répondre

1

FQL ne supporte pas Jointures:

Contrairement à SQL, la FQL clause FROM peut contenir qu'une seule table. Vous pouvez utiliser le mot clé IN dans les clauses SELECT ou WHERE pour effectuer des sous-requêtes, mais les sous-requêtes ne peuvent pas référencer les variables dans la portée de la requête externe.

Votre meilleur pari serait probablement obtenir tous les ID utilisateur des résultats de commentaire, les compiler dans une liste et exécuter

SELECT first_name, last_name FROM user WHERE uid in (1,2,3,4,5) 

Et puis rejoindre manuellement les utilisateurs des commentaires.

Si vous ne voulez pas compiler manuellement la liste des userids vous pouvez exécuter une requête un peu plus lourd pour obtenir tous les utilisateurs des commentaires:

SELECT first_name, last_name FROM user WHERE uid in (SELECT fromid FROM comment WHERE post_id ='123456') 

mais vous aurez encore besoin de rejoindre les utilisateurs et les commentaires manuellement.

Questions connexes