从用户查询first_name,last_name,pic并加入评论

时间:2010-09-03 15:54:37

标签: facebook

我想查询用户信息,如(first_name,last_name,pic,uid),然后加入评论数据,如文本,时间。

首先这是我的评论查询

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

然后我需要与用户

加入此查询
SELECT first_name, last_name FROM user WHERE **uid='fromid'**
用户表中的 uid可以与评论表中的fromid一起加入。

我该怎么做?

感谢

1 个答案:

答案 0 :(得分:1)

FQL不支持联接:

  

与SQL不同,FQL FROM子句只能包含一个表。您可以在SELECT或WHERE子句中使用IN关键字来执行子查询,但子查询不能引用外部查询范围中的变量。

您最好的选择可能是从评论结果中获取所有用户ID,将其编译成列表并运行

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

然后手动加入带有评论的用户。

如果您不想手动编译userid列表,可以运行稍微繁重的查询以从评论中获取所有用户:

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

但您仍需要手动加入用户和评论。