OT: Valores posibles [MYSQL]
juan pablo Rumie Vittar
juanpablo_rv en yahoo.com.ar
Mie Ene 25 13:21:53 CLST 2006
El Date: Tue, 24 Jan 2006 18:25:26, "Julio Herrera"
<jherrera en chilered.com>, escribio:
> Feliz Año, hace tiempo que no molesto un poco en
> esta lista, saludos a todos
> que tengan un buen dia.
Igualmente, este es el espiritu que muchos aca no
tenemos (me incluyo)
> Mi pregunta me tiene los pelos de punta, me
> considero un poco lerdo en lo
> que se refiere a Mysql, revise el historial de la
> lista y estoy navegado en
> google sin resultado, tengo la siguiente tabla
> llamada ATRIBUTOS en MYSQL:
>
>
products_attributes_id|products_id|options_id|options_values_id|
>
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> 1| 87| Color|Azul
> 2| 87| Color|Rojo
> 3| 87| Color|Verde
> 4| 87| Talla|L
> 5| 87| Talla|M
> 6| 87| Talla|XL
> 7| 87| Tela|Algodon
> 8| 87| Tela |Lino
>
> Para el producto numero 87 debo entregar la
> siguiente lista:
>
> Color Azul Talla L Tela Algodon
> Color Azul Talla L Tela Lino
> Color Azul Talla M Tela Algodon
> Color Azul Talla M Tela Lino
> Color Azul Talla XL Tela Algodon
> Color Azul Talla XL Tela Lino
> Color Rojo Talla L Tela Algodon
> Color Rojo Talla L Tela Lino
> Color Rojo Talla M Tela Algodon
> Color Rojo Talla M Tela Lino
> Color Rojo Talla XL Tela Algodon
> Color Rojo Talla XL Tela Lino
> Color Verde Talla L Tela Algodon
> Color Verde Talla L Tela Lino
> Color Verde Talla M Tela Algodon
> Color Verde Talla M Tela Lino
> Color Verde Talla XL Tela Algodon
> Color Verde Talla XL Tela Lino
>
> Se que el asunto va por los JOIN, pero recien los
> estoy viendo y parece que
> este listado requiere un poco mas de mente.
Estimado Julio: creo que no te salvas de producto
cartesiano. A las apuradas se me ocurrio esto. Guardas
en una tabla auxiliar un
T1<---select options_id,options_values_id from
ATRIBUTOS where options_id=´color´
en otra
T2<---select options_id,options_values_id from
ATRIBUTOS where options_id=´talla´
y en otra
T3<---select options_id,options_values_id from
ATRIBUTOS where options_id=´tela´
y por ultimo:
select * from T1,T2,T3
Despues el DROP TABLE corespoendientes a T1, T2, T3
(todo esto puede ser un script que se lo pasas al
MySQL, al igual que fuanciona en PosgreSQL)
...y pueden haber mejores soluciones. Aun en esta, el
hecho de hacer proyecciones, se eliminan muchas
columnas innecesarias para que la consulta "temporal"
utilizada por MySQL no sea tan grande.
saludos y suerte
> Muchas gracias
>
>
> Atentamente,
> Julio Herrera Vega.
>
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar
Más información sobre la lista de distribución Linux