Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie SQL „znajomi znajomych”

Musisz tylko wykluczyć tych, którzy są bezpośrednimi przyjaciółmi, a także przyjaciółmi znajomych. Zmieniłem aliasy tabeli, aby było trochę jaśniejsze (przynajmniej dla mnie), co jest pobierane:

SELECT
    u.*
FROM
    user u
    INNER JOIN friend ff ON u.user_id = ff.friend_id
    INNER JOIN friend f ON ff.user_id = f.friend_id
WHERE
    f.user_id = {$user_id}
    AND ff.friend_id NOT IN
    (SELECT friend_id FROM friend WHERE user_id = {$user_id})

Eliminuje również potrzebę wykluczenia identyfikatora użytkownika, którego dotyczy zapytanie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konwertuj zapisz/zaktualizuj szyny połączeń do sql

  2. Niestandardowa tabela Wordpress czy niestandardowe typy postów?

  3. Jak zapisać wynik zapytania MySQL do pliku Excel lub .txt?

  4. Jak uzyskać odpowiednik ResultSetMetaData bez ResultSet?

  5. Wyświetl 3 elementy w wierszu - pętla while - php/mysql