sql >> Base de Datos >  >> RDS >> Mysql

¿Es posible tener una columna MySQL que contenga múltiples valores como claves externas?

Si no desea crear una tabla de "intermediario" para vincular las dos tablas, puede tener un valor separado por comas en el campo, solo necesita usar find_in_set función mysql al hacer consultas

USANDO find_in_set

SELECT
   log.user_id, log.activity_id, log.tags,
   GROUP_CONCAT(tags.name) as taggedNames //This assumes there is a field called `name` in tags table
FROM
   log
LEFT JOIN tags
ON
   FIND_IN_SET(tags.tag_id,log.tags)
GROUP BY
   log.activity_id

GROUP_CONCAT agrupará un campo y los separará por un delimitador, por defecto es ,