Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

kueri SQL 'teman dari teman'

Anda hanya perlu mengecualikan orang-orang yang merupakan teman langsung dan juga sebagai teman dari teman. Saya telah mengatur ulang alias tabel sehingga sedikit lebih jelas (bagi saya) apa yang sedang diambil:

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})

Ini juga menghilangkan kebutuhan untuk mengecualikan ID pengguna yang ditanyakan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemrograman kelas PDO PHP:Kesalahan fatal:Panggilan ke fungsi anggota fetchAll() di boolean

  2. kelompokkan berdasarkan bulan bidang cap waktu unix

  3. Cara mereset/mengubah baris perintah kata sandi root MySql di ubuntu linux

  4. mysqldump gagal dengan Melewatkan data dump untuk tabel 'table1', tidak memiliki bidang

  5. Mengambil/menyimpan Semua Aktor terkait di Freebase