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

¿Cuándo usar valores separados por comas en una columna DB?

Ya sabes la respuesta.

En primer lugar, su código PHP ni siquiera está cerca de funcionar porque solo funciona si el usuario 2 tiene un solo valor en LookingFor o Drugs. Si alguna de estas columnas contiene varios valores separados por comas, IN no funcionará incluso si esos valores están exactamente en el mismo orden que los valores del Usuario 1. ¿Qué espera que haga IN si el lado derecho tiene una o más comas?

Por lo tanto, no es "fácil" hacer lo que quieras en PHP. En realidad, es bastante doloroso e implicaría dividir los campos del usuario 2 en valores únicos, escribir SQL dinámico con muchos OR para hacer la comparación y luego hacer una consulta extremadamente ineficiente para obtener los resultados.

Además, el hecho de que incluso necesites escribir código PHP responder una pregunta tan relativamente simple sobre la intersección de dos conjuntos significa que su diseño tiene fallas graves. Este es exactamente el tipo de problema (álgebra relacional) que SQL existe para resolver. Un diseño correcto permite resolver el problema en la base de datos y luego simplemente implemente una capa de presentación encima en PHP o alguna otra tecnología.

Hazlo correctamente y te resultará mucho más fácil.