sql >> Database teknologi >  >> RDS >> Mysql

MySQL opdelte kolonneværdier til brug i underforespørgsel?

Det er ikke en god idé at opbevare data på denne måde.

Den første idé, der kommer ind i mit hoved, er: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

REDIGER 1

Bestilt 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. Opdatering af tabelskema uden at påvirke data i Laravel

  2. Sådan genopbygger du en inkonsekvent PostgreSQL-slave

  3. Hvordan specificerer jeg en IN-klausul i laravel-rygsæk?

  4. Henter det sidst indsatte ID med udtryk i mysql