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

Apakah mungkin memiliki kolom MySQL yang berisi banyak nilai sebagai kunci asing?

Jika Anda tidak ingin membuat tabel "perantara" untuk menghubungkan dua tabel, Anda dapat memiliki nilai yang dipisahkan koma di bidang, Anda hanya perlu menggunakan find_in_set fungsi mysql saat melakukan query

GUNAKAN find_in_set

SELECT
   log.user_id, log.activity_id, log.tags,
   GROUP_CONCAT(tags.name) as taggedNames //This assumes there is a field called `name` in tags table
FROM
   log
LEFT JOIN tags
ON
   FIND_IN_SET(tags.tag_id,log.tags)
GROUP BY
   log.activity_id

GROUP_CONCAT akan mengelompokkan bidang dan memisahkannya dengan pembatas, defaultnya adalah ,




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menggunakan kondisi if/else dalam pilih di mysql

  2. mysql - Mengoptimalkan ORDER BY COALESCE pada kolom tabel yang digabungkan

  3. Bagaimana saya bisa menginisialisasi database MySQL dengan skema dalam wadah Docker?

  4. Pindah dari MySQL 5.7 ke MySQL 8.0 - Yang Harus Anda Ketahui

  5. apakah baik menyimpan nilai desimal sebagai varchar di mysql?