我想查询用户信息,如(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一起加入。
我该怎么做?
感谢
答案 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')
但您仍需要手动加入用户和评论。