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

FIND_IN_SET dengan beberapa nilai

FIND_IN_SET() hanya dapat digunakan untuk mencari satu nilai dalam daftar yang dipisahkan koma, ini tidak berfungsi dengan dua daftar.

Anda harus memanggilnya secara terpisah untuk setiap nilai.

SELECT * FROM tablename
WHERE FIND_IN_SET('12', category_id) OR FIND_IN_SET('13', category_id) OR FIND_IN_SET('15', category_id)

Akan lebih baik jika Anda menormalkan skema Anda daripada menggunakan daftar yang dipisahkan koma. Jika Anda membuat tabel banyak ke banyak dengan ID kategori, Anda dapat melakukan:

SELECT t1.*
FROM tablename AS t1
JOIN item_categories AS c ON t1.id = c.table_id
WHERE c.category_id IN (12, 13, 15)



  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 Menghindari Memasukkan Duplikat Catatan di MySQL

  2. Kekurangan mengutip bilangan bulat dalam kueri Mysql?

  3. Cara menghapus baris duplikat dan memperbarui tabel

  4. Pada Pembaruan Kunci Duplikat sama seperti menyisipkan

  5. Bagaimana cara menyimpan data yang berisi kutipan di MySQL