2011-03-05 114 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