sql >> Databasteknik >  >> RDS >> Mysql

MySQL delade kolumnvärden för användning i underfråga?

Det är inte en bra idé att behålla data på det här sättet.

Den första idén som kommer upp i mitt huvud är: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

REDIGERA 1

Beställd 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. SQL-fråga för att få aggregerade resultat i kommaavgränsare tillsammans med grupp för kolumn i SQL Server

  2. Initiering av en MySQL-databas distribuerad i en AWS EKS

  3. Kan MySqlBulkLoader användas med en transaktion?

  4. Få ett objekts ID från dess namn i SQL Server:OBJECT_ID()