mysql
  • join
  • 2012-06-09 59 views 3 likes 
    3

    我有一個朋友表。是否可以在表格的兩個字段上進行左連接?換句話說,我不知道這兩個領域中的哪一個可能有我需要的匹配。如果不是有另一種方式來做到這一點?MYSQL左加入多個字段

    $sql = "SELECT * FROM `friends` f 
    LEFT JOIN `users` u 
    ON f.askee OR f.asker = u.ID 
    where (asker='$userid' OR askee='$userid') AND status='3'"; 
    

    回答

    5

    左連接是正確的:OR運算符將執行您所期望的操作。但是,那麼你就$userid過濾器應適用於父表(friends),不遺留加入一個(否則將取消外連接):

    $sql = "SELECT * FROM `friends` f 
    LEFT JOIN `users` u ON f.`askee` = u.`ID` OR f.`asker` = u.`ID` 
    WHERE u.`status` = '3' AND u.ID = '$userid'"; 
    
    +1

    這也可以用這些組合中f.asker = $用戶標識結束和f.askee = u.ID,f.askee = $ userid和f.asker = u.ID,f.asker = $ userid和f.asker = u.ID,f.askee = $ userid和f.askee = u.ID.很難說這些是否是所希望的結果。 – Ilion

    +1

    是正確的,這就是爲什麼我們需要功能背景才能給出更好的答案。至於技術問題,我認爲是可以的。編輯: – Sebas

    +0

    編輯:我真正想要的是如果在哪裏是在提問的比賽,從用戶獲取askee的信息,而如果在哪裏的比賽是在asky上獲取來自用戶的信息.asker和askee永遠是不同的 – user1260310

    相關問題