OT: Valores posibles [MYSQL]

2006-01-25 Por tema Juan Martínez
El mar, 24-01-2006 a las 18:25 -0400, Julio Herrera escribió:
 Feliz Año, hace tiempo que no molesto un poco en esta lista

Y que te hizo cambiar de opinión?

[...]

 Mi pregunta me tiene los pelos de punta, me considero un poco lerdo en lo
 que se refiere a Mysql,

y esta lista es de Linux si mal no recuerdo, no de MySQL. A preguntar
donde corresponde! (espero que al menos tengas corriendo MySQL sobre
Linux, para que no sea 100% OT el mensaje).

[...]

 Se que el asunto va por los JOIN, pero recien los estoy viendo y parece que
 este listado requiere un poco mas de mente.

Efectivamente. Debes revisar la implementación de JOIN en MySQL en su
documentación. Preocúpate de no generar un producto cartesiano que
generará un gasto de CPU innecesario.

Atte.
Juan Martínez


OT: Valores posibles [MYSQL]

2006-01-25 Por tema [EMAIL PROTECTED]

Estimado:

 Al ver tu tabla , estas normalizando de una mal forma tu base de datos, y es
por eso que estas sufriendo *-graves-* dolores de cabeza.


 Mi recomendacion iria, por crear una nueva tabla con los siguientes atributos:

 Tabla: combinacion

 id_comb | id_product | color | talla | tipo

 El resultado seria el siguiente:

 1 67 azul L algodon
 2 67 azul L tela
 3 67 azul l lino
 4 67 verde L algodon
 5 67 verde L tela
 6 67 verde l lino


 Asi podras llamar mucho mas facil en tu consulta SQL y mucho mas rapido y
normalizado.

 Saludos
 Fabian Ramirez

Mensaje citado por Julio Herrera [EMAIL PROTECTED]:

 Feliz Año, hace tiempo que no molesto un poco en esta lista, saludos a todos
 que tengan un buen dia.

 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.

 Muchas gracias


 Atentamente,
 Julio Herrera Vega.







OT: Valores posibles [MYSQL]

2006-01-25 Por tema Julio Herrera
juan pablo:

Muchas gracias, estaba pensando en esa opcion, osea crear tablas temporales
para hacer mi trabajo, de verdad se agradece su ayuda, al igual que a :

Alvaro Herrera
Fabian Ramirez
Juan Martínez

Tambien disculpa por meter mysql en la lista.

Saludos

Julio


-Mensaje original-
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] En nombre de juan pablo Rumie
Vittar
Enviado el: Miércoles, 25 de Enero de 2006 12:22
Para: linux@listas.inf.utfsm.cl
Asunto: Re: OT: Valores posibles [MYSQL]

El Date: Tue, 24 Jan 2006 18:25:26, Julio Herrera
[EMAIL PROTECTED], escribio:

 
 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 



OT: Valores posibles [MYSQL]

2006-01-24 Por tema Julio Herrera
Feliz Año, hace tiempo que no molesto un poco en esta lista, saludos a todos
que tengan un buen dia.

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.

Muchas gracias


Atentamente,
Julio Herrera Vega.