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

Banyak Ke Banyak Tabel Bergabung Dengan Pivot

Anda perlu menentukan DISTINCT , yaitu

select users.name, group_concat( DISTINCT programs.name)

Lihat dokumen MySQL di sini .

Coba ubah kueri Anda menjadi:

SELECT users.name, group_concat(programs.name) 
from users
LEFT JOIN linker on linker.user_id = users.id
LEFT JOIN programs on linker.program_id = programs.id
GROUP BY users.id

Ini akan memberi Anda null untuk setiap pengguna tanpa program yang terkait dengannya. Untuk menyaringnya, cukup tambahkan WHERE programs.id IS NOT NULL .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa ini :id di Rails tidak berfungsi dengan Postgresql tetapi berfungsi dengan MySQL?

  2. Pendaftaran pengguna dan verifikasi email PHP dan MySQL

  3. MySql Inner Bergabung dengan klausa WHERE

  4. SQLAlchemy Mencoba Dua Kali Menghapus Banyak ke Banyak Hubungan Sekunder

  5. Cara mendapatkan jumlah dalam tabel gabungan saat menggunakan grup dengan - mendapatkan hasil yang salah