Tengo un sistema basado en una base de datos MySQL relacional que permite a las personas almacenar detalles de "clientes potenciales". Además, las personas pueden crear sus propias columnas para almacenar datos y luego, al agregar cuentas nuevas, pueden agregar datos debajo de ellas. La estructura de la tabla es el siguiente:¿Cómo recuperar los atributos "dinámicos" almacenados en varias filas como registros normales?
Leads - Identificación, correo electrónico, user_id
ATRIBUTOS - Identificación, attr_name, user_id
ATTR_VALUES - lead_id, attr_id, valor, user_id
Obviamente, en estas tablas, "user_id" hace referencia a una tabla de "Usuarios" que solo contiene personas que pueden iniciar sesión en el sistema.
Estoy escribiendo una función para dar salida a los detalles del lead y actualmente estoy repasando los detalles básicos del lead como una consulta, y luego revisando cada atributo asociado con ese lead (uniéndome a la tabla de atributos para obtener el nombre) y luego unirse a las matrices en PHP. Esto es un poco complicado, y me preguntaba si había una manera de hacer esto en una consulta SQL. He leído un poco sobre algo llamado "mesa pivote", pero me cuesta entender cómo funciona.
Cualquier ayuda sería muy apreciada. ¡Gracias!
MySql no es compatible con los comandos de Pivot. Eh, es gratis. – McGarnagle
@dbase (microsoft?) Hombre: no * "Eh, es gratis" *, pero * "Eh, es una base de datos" * (a diferencia de ...). Los comandos de pivote no pertenecen a la base de datos, sino al nivel de presentación. – TMS
Una buena pregunta, aunque el título fue engañoso: es posible en una sola consulta con bastante facilidad, solo suele unir todas las tablas, pero eso no es lo que probablemente desee. Editado el título. – TMS