sql >> Database >  >> RDS >> Mysql

MySQL gesplitste kolomwaarden voor gebruik in subquery?

Het is geen goed idee om gegevens op deze manier te bewaren.

Het eerste idee dat in mijn hoofd opkomt is: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

BEWERK 1

Bestelde variant: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. een afbeelding weergeven die is opgeslagen in een mysql-blob

  2. Vraag ouders en kinderen in zelfverwijzende tabel

  3. Resource-id #10 als ik een variabele wil echoën met php en mysql

  4. Beperk de grootte van een verzameling in JPA