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

Nilai kolom split MySQL untuk digunakan dalam sub-kueri?

Menyimpan data dengan cara ini bukanlah ide yang baik.

Ide pertama yang muncul di kepala saya adalah :http://sqlfiddle.com/#!2/ 1dd77/4

SELECT b.*, GROUP_CONCAT(a.name SEPARATOR ':')
FROM table2 as b
LEFT JOIN table1 as a
on b.var = a.id 
  OR  b.var regexp(CONCAT('^',a.id,':'))
  OR  b.var regexp(CONCAT(':',a.id,':'))
  OR  b.var regexp(CONCAT(':',a.id,'$'))
 GROUP BY b.id

EDIT 1

Varian yang dipesan:http://sqlfiddle.com/#!2/1dd77/38

SELECT b.*, GROUP_CONCAT(a.name ORDER BY FIND_IN_SET(a.id, REPLACE(b.var,":",",")) SEPARATOR ':' )
FROM table2 as b
LEFT JOIN table1 as a
on b.var = a.id 
  OR  b.var regexp(CONCAT('^',a.id,':'))
  OR  b.var regexp(CONCAT(':',a.id,':'))
  OR  b.var regexp(CONCAT(':',a.id,'$'))
 GROUP BY b.id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memeriksa tabel untuk tumpang tindih waktu?

  2. Memeriksa apakah data ada di database

  3. Buat Spark Dataframe dari SQL Query

  4. Unggah file dengan jQuery dan CodeIgniter (Tapi tidak ada penyegaran halaman)

  5. Cara Mencadangkan Basis Data Terenkripsi dengan Server Percona untuk MySQL 8.0