Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Reemplazar 3 querys por una

Estas en el tema de Reemplazar 3 querys por una en el foro de Mysql en Foros del Web. Necesito sacar los atributos de un producto y sus descuento, la informacion que quiero representar esta mas o menos asi: Cita: Producto Precio Atributo Valor ...
  #1 (permalink)  
Antiguo 15/04/2009, 17:50
Avatar de jeybi  
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 15 años, 9 meses
Puntos: 10
Reemplazar 3 querys por una

Necesito sacar los atributos de un producto y sus descuento, la informacion que quiero representar esta mas o menos asi:


Cita:
Producto Precio Atributo Valor Descuento
----------------------------------------------------
Producto1 $100.00 Color Verde 1%
Azul 2%
Rojo 1%
Tamaño Chico 4%
Grande 0%
mediano 0%
Bueno hay mas o menos se ve la estructura que busco. Ahora, para esto yo podria hace una sola consulta utilizando joins, el problema es que quedaria algo como:

Producto Precio Atributo Valor Descuento
Producto1 $100.00 Color Verde 1%
Producto1 $100.00 Color Azul 2%
Producto1 $100.00 Color Rojo 1%
Producto1 $100.00 Tamaño Chico 4%
Producto1 $100.00 Tamaño Grande 0%
Producto1 $100.00 Tamaño mediano 0%

En productos con muchos atributos, creo yo que estaria desperdiciando recursos (mas bien ancho de banda), o es simplemente el echo de que la query resulte asi me molesta .

Mi duda es, hay alguna forma de obtener la estructura que busco utilizando solamente 1 query? o alguna forma mas 'compacta', utilizando 3 querys puedo primero obtener el producto, luego sus atributos/valores y posteriormente el descuento, pero de nuevo se complica mas. A lo menos que me reemplaze lo repetido por NULL, asi me sentiria mejor.

Pues, eso, saludos!

Última edición por jeybi; 15/04/2009 a las 17:56
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:34.