2011-03-05 49 views
0

我有一些问题,这fql.query方法:与Facebook fql.query问题

select music 
    from user 
    where uid = ...... 
    and music in (select music 
        from user 
        where uid = ...... 
       ) 

我想获得两个用户之间的共同音乐的兴趣;它适用于这样的查询

select uid 
    from user 
    where uid = ...... 
    and uid in (select uid 
        from user 
        where uid = ...... 
       ) 

我认为问题是,第二个查询返回一个整数,第一个返回一个字符串数组。谁能帮我这个?

原谅我的英语不好,我从西班牙;!))

回答

0

不先查询已经向你的答案吗?

我的意思是它执行以下操作:

-- Display only music field 
select music 
from user 
where uid = <first_USER> -- Selection of your first user 
and music in (-- We want to macth the string with another 
    select music -- Selects only the music field 
    from user 
    where uid = <second_USER> -- Selection of your second user 
) 

所以,你得符合两个用户记录一个音乐的名称。

你的第二个查询似乎有点奇怪对我说:

select uid 
    from user 
    where uid = <first_USER?> 
    and uid in (select uid 
        from user 
        where uid = <second_USER?> 
       ) 

这基本上转化为找到USER_ID匹配的用户之一,用户两项。事情从来没有发生,因为每个用户都有自己的用户。顺便说一下,我不知道Facebook如何处理音乐字符串,但可能会出现这样的情况:用户不会以通用的拼写和/或格式编写自己喜欢的音乐名称。这可能会妨碍您的匹配系统。

+0

感谢您的回答!第二个查询是一个荒谬的是,我只想显示这样的查询,我认为这是因为uid是一个整数,音乐有一个奇怪的格式,就像你说的... – user646026 2011-03-06 12:56:52

+0

对。它对你有用吗?还是你需要更多的精度? (如果没关系,请不要忘记接受答案并请投票) – 2011-03-06 14:36:15

0

我尝试这样做:

select music 
    from user 
    where uid=UID1 
AND music IN (SELECT music from user where uid=UID2) 

而当UID1 music字符串完全匹配的UID2的一个正常工作。

+0

¿您是否在测试控制台中尝试过? ¿和工程?我不能让它工作,我不知道为什么。 – user646026 2011-03-06 13:01:54

+0

你有两个用户有完全相同的音乐字符串吗? – Zakaria 2011-03-06 13:46:57