From rhcomser at hotmail.com Sun Jan 6 00:23:33 2008 From: rhcomser at hotmail.com (RhComSer) Date: Sat, 5 Jan 2008 17:23:33 -0600 Subject: [MySQL Hispano] Una consulta corta Message-ID: Hola a todos, quisiera aprovecharme de la experiencia de ustedes para saber de qu? manera puedo hacer una consulta (query) lo m?s corta posible para que me retorne una lista con las "facturas" que necesito. Tengo un campo "factura" que es num?rico y 100 facturas en la tabla que van de la 1 a la 100, pero necesito ver s?lo las facturas: 15 - 22 - 23 - 24 - 26 - 32 y 33, p.e.j. Me pueden ayudar con una consulta realmente corta? Gracias!! Rhoy Chaves Alvarado rhcomser at hotmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080105/8b9f9877/attachment.html From dumbomalo at yahoo.com.ar Sun Jan 6 00:28:34 2008 From: dumbomalo at yahoo.com.ar (=?ISO-8859-1?Q?=22Sebasti=E1n_V=2E_W=FCrtz=22?=) Date: Sat, 05 Jan 2008 21:28:34 -0200 Subject: [MySQL Hispano] Una consulta corta In-Reply-To: References: Message-ID: <478012A2.5060604@yahoo.com.ar> An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080105/a95b2100/attachment.html From rhcomser at hotmail.com Sun Jan 6 00:36:26 2008 From: rhcomser at hotmail.com (RhComSer) Date: Sat, 5 Jan 2008 17:36:26 -0600 Subject: [MySQL Hispano] Una consulta corta References: <478012A2.5060604@yahoo.com.ar> Message-ID: ESO ERA TODO "in (.....)", que incre?ble : no lo recordaba!!!! Gracias Sebas, ahora si alguien tiene una manera diferente, ser? bienvenida para ampliar conocimiento !!! ----- Original Message ----- From: "Sebasti?n V. W?rtz" To: MySQL Hispano Sent: Saturday, January 05, 2008 5:28 PM Subject: Re: [MySQL Hispano] Una consulta corta RhComSer escribi?: Hola a todos, quisiera aprovecharme de la experiencia de ustedes para saber de qu? manera puedo hacer una consulta (query) lo m?s corta posible para que me retorne una lista con las "facturas" que necesito. Tengo un campo "factura" que es num?rico y 100 facturas en la tabla que van de la 1 a la 100, pero necesito ver s?lo las facturas: 15 - 22 - 23 - 24 - 26 - 32 y 33, p.e.j. Me pueden ayudar con una consulta realmente corta? Gracias!! Rhoy Chaves Alvarado rhcomser at hotmail.com ---------------------------------------------------------------------------- _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios select * from tabla where id_factura in (15, 22, 23,24 etc) si es eso que quieres ------------------------------------------------------------------------------ _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080105/5e85bf3c/attachment.html From vicisbue at gmail.com Sun Jan 6 16:36:44 2008 From: vicisbue at gmail.com (Victor Isabel Bueno) Date: Sun, 6 Jan 2008 16:36:44 +0100 Subject: [MySQL Hispano] Una consulta corta In-Reply-To: References: <478012A2.5060604@yahoo.com.ar> Message-ID: <87bd82e90801060736s55049bdv59b10f3b30cc2375@mail.gmail.com> Hombre, el in realmente es como hacer facura = 15 or facura= 22 ... es bastante mas larga pero es lo mismo (de hecho si no me equivoco la base de datos traduce los in en una secuencia de este tipo para ejecutarla)... que yo sepa no hay mas formas. Saludos. 2008/1/6, RhComSer : > > > ESO ERA TODO "in (.....)", que incre?ble : no lo recordaba!!!! > > Gracias Sebas, ahora si alguien tiene una manera diferente, ser? bienvenida > para ampliar conocimiento !!! > > ----- Original Message ----- > From: "Sebasti?n V. W?rtz" > To: MySQL Hispano > Sent: Saturday, January 05, 2008 5:28 PM > Subject: Re: [MySQL Hispano] Una consulta corta > > RhComSer escribi?: > > > Hola a todos, quisiera aprovecharme de la experiencia de ustedes para saber > de qu? manera puedo hacer una consulta (query) lo m?s corta posible para que > me retorne una lista con las "facturas" que necesito. Tengo un campo > "factura" que es num?rico y 100 facturas en la tabla que van de la 1 a la > 100, pero necesito ver s?lo las facturas: 15 - 22 - 23 - 24 - 26 - 32 y 33, > p.e.j. > > Me pueden ayudar con una consulta realmente corta? > > Gracias!! > > Rhoy Chaves Alvarado > rhcomser at hotmail.com________________________________ > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > select * from tabla where id_factura in (15, 22, 23,24 etc) > > si es eso que quieres > > > ________________________________ > > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > -- --. V?ctor Isabel Bueno .-- From dumbomalo at yahoo.com.ar Mon Jan 7 22:03:41 2008 From: dumbomalo at yahoo.com.ar (=?ISO-8859-1?Q?=22Sebasti=E1n_V=2E_W=FCrtz=22?=) Date: Mon, 07 Jan 2008 19:03:41 -0200 Subject: [MySQL Hispano] collation In-Reply-To: <1fb588870712170348j483eaab2s1a74e298441d662b@mail.gmail.com> References: <1fb588870712170348j483eaab2s1a74e298441d662b@mail.gmail.com> Message-ID: <478293AD.3060600@yahoo.com.ar> Que tal si usas columnas fulltext? http://www.mysql-hispano.org/page.php?id=15 ruben gonzalez gonzalezz escribi?: > Hola tengo un problema con collation en mi servidor. Yo quiero que al realizar > una consulta como: > > SELECT id,name from person where name like "%gonzalez%"; > > obtenga las entradas con gonz?lez. Y no soy capaz. > > Los pasos que he segido son: > > 1.- Cree la base de datos: > $$ create database texttv DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci; > 2.- Cree la tabla > $$ DROP TABLE IF EXISTS `person`; > $$ CREATE TABLE `person` ( > $$ `id` int(11) NOT NULL auto_increment, > $$ `name` varchar(100) NOT NULL default '', > $$ `email` varchar(30) NOT NULL default '', > $$ `web` varchar(150) NOT NULL default '', > $$ `phone` varchar(30) NOT NULL default '', > $$ PRIMARY KEY (`id`) > $$ ) ENGINE=MyISAM; > 2.- met? los datos en un script en utf8 con set names utf8 > 3.- realizo la consulta. > > > Y nada de nada. > > Alguna sugerencia. > From cristian.mejia at gmail.com Thu Jan 10 18:51:04 2008 From: cristian.mejia at gmail.com (Cristian Alberto Mejia Medina) Date: Thu, 10 Jan 2008 11:51:04 -0600 Subject: [MySQL Hispano] Una consulta Message-ID: Tengo dos tablas 'establecimientos' con la columna 'diaconcepto' que contiene "ABCDE" y 'structd' que contiene nomcat='Centro Comercial' y valor=C, Necesito un query que me obtenga todos los registros de 'establecimientos' donde aparezca el valor de 'valor' de 'structd' donde 'nomcat' = 'Centro Comercial'... no se si me explique bien... esta consulta me funciona en todos los registros donde 'diaconcepto' tiene = "C", pero no aquellos donde hay "AC", o "CB",,, quise poner % al inicio y final del segundo select pero no es valido,,,, Alguna idea????? SELECT * FROM `establecimientos` WHERE `diaconcepto` LIKE (SELECT `valor` FROM `structd` WHERE `nomcat`= 'Centro Comercial') -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080110/074c1317/attachment.html From fernandocns at consciencia.com.br Thu Jan 10 20:39:04 2008 From: fernandocns at consciencia.com.br (=?iso-8859-1?Q?Fernando_-_Consci=EAncia?=) Date: Thu, 10 Jan 2008 16:39:04 -0300 Subject: [MySQL Hispano] Una consulta In-Reply-To: References: Message-ID: tienta esso: SELECT * FROM `establecimientos` WHERE `diaconcepto` LIKE concat_ws("","%",(SELECT `valor` FROM `structd` WHERE `nomcat`= 'Centro Comercial' limit 1),"%") limit 1 esso somiente para garantir no erros na query. ----- Original Message ----- From: Cristian Alberto Mejia Medina To: usuarios at mysql-hispano.org Sent: Thursday, January 10, 2008 2:51 PM Subject: [MySQL Hispano] Una consulta Tengo dos tablas 'establecimientos' con la columna 'diaconcepto' que contiene "ABCDE" y 'structd' que contiene nomcat='Centro Comercial' y valor=C, Necesito un query que me obtenga todos los registros de 'establecimientos' donde aparezca el valor de 'valor' de 'structd' donde 'nomcat' = 'Centro Comercial'... no se si me explique bien... esta consulta me funciona en todos los registros donde 'diaconcepto' tiene = "C", pero no aquellos donde hay "AC", o "CB",,, quise poner % al inicio y final del segundo select pero no es valido,,,, Alguna idea????? SELECT * FROM `establecimientos` WHERE `diaconcepto` LIKE (SELECT `valor` FROM `structd` WHERE `nomcat`= 'Centro Comercial') -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) ------------------------------------------------------------------------------ _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080110/e75b25a1/attachment.html From cristian.mejia at gmail.com Thu Jan 10 19:46:50 2008 From: cristian.mejia at gmail.com (Cristian Alberto Mejia Medina) Date: Thu, 10 Jan 2008 12:46:50 -0600 Subject: [MySQL Hispano] Una consulta In-Reply-To: References: Message-ID: Funciono Perfecto.... Muchas gracias Fernando El d?a 10/01/08, Fernando - Consci?ncia escribi?: > > tienta esso: > > SELECT * FROM `establecimientos` WHERE `diaconcepto` LIKE > concat_ws("","%",(SELECT `valor` FROM `structd` WHERE `nomcat`= 'Centro > Comercial' limit 1),"%") > > limit 1 esso somiente para garantir no erros na query. > > > ----- Original Message ----- > *From:* Cristian Alberto Mejia Medina > *To:* usuarios at mysql-hispano.org > *Sent:* Thursday, January 10, 2008 2:51 PM > *Subject:* [MySQL Hispano] Una consulta > > Tengo dos tablas 'establecimientos' con la columna 'diaconcepto' que > contiene "ABCDE" y 'structd' que contiene nomcat='Centro Comercial' y > valor=C, Necesito un query que me obtenga todos los registros de > 'establecimientos' donde aparezca el valor de 'valor' de 'structd' donde > 'nomcat' = 'Centro Comercial'... no se si me explique bien... > > esta consulta me funciona en todos los registros donde 'diaconcepto' tiene > = "C", pero no aquellos donde hay "AC", o "CB",,, quise poner % al inicio y > final del segundo select pero no es valido,,,, > Alguna idea????? > > SELECT * FROM `establecimientos` WHERE `diaconcepto` LIKE (SELECT `valor` > FROM `structd` WHERE `nomcat`= 'Centro Comercial') > > -- > TPI. Cristian Alberto Mejia Medina > > Have a nice day :o) > > ------------------------------ > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080110/a8a88192/attachment.html From cristian.mejia at gmail.com Thu Jan 10 23:29:34 2008 From: cristian.mejia at gmail.com (Cristian Alberto Mejia Medina) Date: Thu, 10 Jan 2008 16:29:34 -0600 Subject: [MySQL Hispano] Otra Consulta Message-ID: Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' donde en 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde tengo tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). Como podria obtener un select de la forma : "Cristian Oro Bronce Cobre" ????? -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080110/9e056973/attachment.html From dumbomalo at yahoo.com.ar Thu Jan 10 23:39:08 2008 From: dumbomalo at yahoo.com.ar (=?ISO-8859-1?Q?=22Sebasti=E1n_V=2E_W=FCrtz=22?=) Date: Thu, 10 Jan 2008 20:39:08 -0200 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: References: Message-ID: <47869E8C.1010203@yahoo.com.ar> An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080110/88a8d3d3/attachment.html From kmedina at grupoacir.com.mx Thu Jan 10 23:53:33 2008 From: kmedina at grupoacir.com.mx (Karen Cristina Medina Ortega (Analista de Sistemas )) Date: Thu, 10 Jan 2008 16:53:33 -0600 Subject: [MySQL Hispano] Duda con relaciones circulares In-Reply-To: Message-ID: <76B2A7DD44F2094290E9B226EE4262E939042BD41E@gamailex00.grupoacir.com.mx> Hola que tal chicos... F?jense que tengo un problema con unas tablitas...resulta que estoy utilizando un dise?ador de base de datos DBDesigner 4 pero sucede que al tratar de exportar y obtener el c?digo script que genera esas tablas el software me marca relaciones circulares. Las tablas son estas: CREATE TABLE cat_activos ( cat_act_id INTEGER NOT NULL, cat_act_nombre VARCHAR(255) NULL, cat_act_descripcion LONGTEXT NULL, PRIMARY KEY(cat_act_id) ) TYPE=InnoDB; El atributo cat_act_id se convierte en un atributo de la tabla responsivas (Fk) de igual forma El usuario usuWeb_noempleado llave primaria en la tabla usuariosweb se convierte en atributo (FK) de la tabla responsivas. CREATE TABLE responsivas ( resp_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, resp_activo INTEGER NOT NULL, resp_usuWeb INTEGER(11) NOT NULL, resp_noempleado INTEGER(11) NOT NULL, resp_fecha_registro TIMESTAMP NULL, resp_fecha_asignacion TIMESTAMP NULL, resp_fecha_devolucion TIMESTAMP NULL, resp_imagen VARCHAR(255) NULL, resp_noserie VARCHAR(255) NULL, resp_noplaca VARCHAR(255) NULL, PRIMARY KEY(resp_id) ) TYPE=InnoDB; CREATE TABLE usuarios_web ( usuWeb_noempleado INTEGER(11) NOT NULL, usuWeb_tipo VARCHAR(30) NULL, usuWeb_aplicacion LONGTEXT NULL, usuWeb_clave VARCHAR(30) NULL, usuWeb_contrasena VARCHAR(32) NULL, PRIMARY KEY(usuWeb_noempleado) ) TYPE=InnoDB; Alguien ha tenido alguna experiencia similar? Mil gracias!!! ________________________________ De: usuarios-bounces at mysql-hispano.org [mailto:usuarios-bounces at mysql-hispano.org] En nombre de Cristian Alberto Mejia Medina Enviado el: Jueves, 10 de Enero de 2008 04:30 p.m. Para: MySQL Hispano Asunto: [MySQL Hispano] Otra Consulta Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' donde en 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde tengo tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). Como podria obtener un select de la forma : "Cristian Oro Bronce Cobre" ????? -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080110/c4741a56/attachment.html From dumbomalo at yahoo.com.ar Fri Jan 11 00:06:52 2008 From: dumbomalo at yahoo.com.ar (=?ISO-8859-1?Q?=22Sebasti=E1n_V=2E_W=FCrtz=22?=) Date: Thu, 10 Jan 2008 21:06:52 -0200 Subject: [MySQL Hispano] Duda con relaciones circulares In-Reply-To: <76B2A7DD44F2094290E9B226EE4262E939042BD41E@gamailex00.grupoacir.com.mx> References: <76B2A7DD44F2094290E9B226EE4262E939042BD41E@gamailex00.grupoacir.com.mx> Message-ID: <4786A50C.3070204@yahoo.com.ar> An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080110/e54291ae/attachment.html From kmedina at grupoacir.com.mx Fri Jan 11 00:12:14 2008 From: kmedina at grupoacir.com.mx (Karen Cristina Medina Ortega (Analista de Sistemas )) Date: Thu, 10 Jan 2008 17:12:14 -0600 Subject: [MySQL Hispano] Duda con relaciones circulares In-Reply-To: <4786A50C.3070204@yahoo.com.ar> Message-ID: <76B2A7DD44F2094290E9B226EE4262E939042BD4B5@gamailex00.grupoacir.com.mx> Hola si efectivamente ese software me permite hacer relaciones con unas flechas si elimino las relaciones me trae sin ningun problema el codigo ... ________________________________ De: usuarios-bounces at mysql-hispano.org [mailto:usuarios-bounces at mysql-hispano.org] En nombre de "Sebasti?n V. W?rtz" Enviado el: Jueves, 10 de Enero de 2008 05:07 p.m. Para: MySQL Hispano Asunto: Re: [MySQL Hispano] Duda con relaciones circulares Karen Cristina Medina Ortega (Analista de Sistemas ) escribi?: Hola que tal chicos... F?jense que tengo un problema con unas tablitas...resulta que estoy utilizando un dise?ador de base de datos DBDesigner 4 pero sucede que al tratar de exportar y obtener el c?digo script que genera esas tablas el software me marca relaciones circulares. Las tablas son estas: CREATE TABLE cat_activos ( cat_act_id INTEGER NOT NULL, cat_act_nombre VARCHAR(255) NULL, cat_act_descripcion LONGTEXT NULL, PRIMARY KEY(cat_act_id) ) TYPE=InnoDB; El atributo cat_act_id se convierte en un atributo de la tabla responsivas (Fk) de igual forma El usuario usuWeb_noempleado llave primaria en la tabla usuariosweb se convierte en atributo (FK) de la tabla responsivas. CREATE TABLE responsivas ( resp_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, resp_activo INTEGER NOT NULL, resp_usuWeb INTEGER(11) NOT NULL, resp_noempleado INTEGER(11) NOT NULL, resp_fecha_registro TIMESTAMP NULL, resp_fecha_asignacion TIMESTAMP NULL, resp_fecha_devolucion TIMESTAMP NULL, resp_imagen VARCHAR(255) NULL, resp_noserie VARCHAR(255) NULL, resp_noplaca VARCHAR(255) NULL, PRIMARY KEY(resp_id) ) TYPE=InnoDB; CREATE TABLE usuarios_web ( usuWeb_noempleado INTEGER(11) NOT NULL, usuWeb_tipo VARCHAR(30) NULL, usuWeb_aplicacion LONGTEXT NULL, usuWeb_clave VARCHAR(30) NULL, usuWeb_contrasena VARCHAR(32) NULL, PRIMARY KEY(usuWeb_noempleado) ) TYPE=InnoDB; Alguien ha tenido alguna experiencia similar? Mil gracias!!! ________________________________ De: usuarios-bounces at mysql-hispano.org [mailto:usuarios-bounces at mysql-hispano.org] En nombre de Cristian Alberto Mejia Medina Enviado el: Jueves, 10 de Enero de 2008 04:30 p.m. Para: MySQL Hispano Asunto: [MySQL Hispano] Otra Consulta Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' donde en 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde tengo tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). Como podria obtener un select de la forma : "Cristian Oro Bronce Cobre" ????? -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) ________________________________ _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios Nose como has creado el dise?o en ese soft, pero es extra?o que te exporte como foranea esa clave, tampoco me ha pasado porque no suelo utilizar ese eso. no le has puesto alguna flecha que te relacione?, de todos modos porque no lo borras? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080110/94d12942/attachment.html From dumbomalo at yahoo.com.ar Fri Jan 11 00:25:01 2008 From: dumbomalo at yahoo.com.ar (=?ISO-8859-1?Q?=22Sebasti=E1n_V=2E_W=FCrtz=22?=) Date: Thu, 10 Jan 2008 21:25:01 -0200 Subject: [MySQL Hispano] Duda con relaciones circulares In-Reply-To: <76B2A7DD44F2094290E9B226EE4262E939042BD4B5@gamailex00.grupoacir.com.mx> References: <76B2A7DD44F2094290E9B226EE4262E939042BD4B5@gamailex00.grupoacir.com.mx> Message-ID: <4786A94D.5080104@yahoo.com.ar> An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080110/ac85a427/attachment.html From kmedina at grupoacir.com.mx Fri Jan 11 00:31:36 2008 From: kmedina at grupoacir.com.mx (Karen Cristina Medina Ortega (Analista de Sistemas )) Date: Thu, 10 Jan 2008 17:31:36 -0600 Subject: [MySQL Hispano] Duda con relaciones circulares In-Reply-To: <4786A94D.5080104@yahoo.com.ar> Message-ID: <76B2A7DD44F2094290E9B226EE4262E939042BD4D3@gamailex00.grupoacir.com.mx> Bueno es que en tipo guardo una descripci?n de algunos caracteres...pero voy a achecar mi normalizaci?n :) Gracias! ________________________________ De: usuarios-bounces at mysql-hispano.org [mailto:usuarios-bounces at mysql-hispano.org] En nombre de "Sebasti?n V. W?rtz" Enviado el: Jueves, 10 de Enero de 2008 05:25 p.m. Para: MySQL Hispano Asunto: Re: [MySQL Hispano] Duda con relaciones circulares Karen Cristina Medina Ortega (Analista de Sistemas ) escribi?: Hola si efectivamente ese software me permite hacer relaciones con unas flechas si elimino las relaciones me trae sin ningun problema el codigo ... ________________________________ De: usuarios-bounces at mysql-hispano.org [mailto:usuarios-bounces at mysql-hispano.org] En nombre de "Sebasti?n V. W?rtz" Enviado el: Jueves, 10 de Enero de 2008 05:07 p.m. Para: MySQL Hispano Asunto: Re: [MySQL Hispano] Duda con relaciones circulares Karen Cristina Medina Ortega (Analista de Sistemas ) escribi?: Hola que tal chicos... F?jense que tengo un problema con unas tablitas...resulta que estoy utilizando un dise?ador de base de datos DBDesigner 4 pero sucede que al tratar de exportar y obtener el c?digo script que genera esas tablas el software me marca relaciones circulares. Las tablas son estas: CREATE TABLE cat_activos ( cat_act_id INTEGER NOT NULL, cat_act_nombre VARCHAR(255) NULL, cat_act_descripcion LONGTEXT NULL, PRIMARY KEY(cat_act_id) ) TYPE=InnoDB; El atributo cat_act_id se convierte en un atributo de la tabla responsivas (Fk) de igual forma El usuario usuWeb_noempleado llave primaria en la tabla usuariosweb se convierte en atributo (FK) de la tabla responsivas. CREATE TABLE responsivas ( resp_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, resp_activo INTEGER NOT NULL, resp_usuWeb INTEGER(11) NOT NULL, resp_noempleado INTEGER(11) NOT NULL, resp_fecha_registro TIMESTAMP NULL, resp_fecha_asignacion TIMESTAMP NULL, resp_fecha_devolucion TIMESTAMP NULL, resp_imagen VARCHAR(255) NULL, resp_noserie VARCHAR(255) NULL, resp_noplaca VARCHAR(255) NULL, PRIMARY KEY(resp_id) ) TYPE=InnoDB; CREATE TABLE usuarios_web ( usuWeb_noempleado INTEGER(11) NOT NULL, usuWeb_tipo VARCHAR(30) NULL, usuWeb_aplicacion LONGTEXT NULL, usuWeb_clave VARCHAR(30) NULL, usuWeb_contrasena VARCHAR(32) NULL, PRIMARY KEY(usuWeb_noempleado) ) TYPE=InnoDB; Alguien ha tenido alguna experiencia similar? Mil gracias!!! ________________________________ De: usuarios-bounces at mysql-hispano.org [mailto:usuarios-bounces at mysql-hispano.org] En nombre de Cristian Alberto Mejia Medina Enviado el: Jueves, 10 de Enero de 2008 04:30 p.m. Para: MySQL Hispano Asunto: [MySQL Hispano] Otra Consulta Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' donde en 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde tengo tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). Como podria obtener un select de la forma : "Cristian Oro Bronce Cobre" ????? -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) ________________________________ _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios Nose como has creado el dise?o en ese soft, pero es extra?o que te exporte como foranea esa clave, tampoco me ha pasado porque no suelo utilizar ese eso. no le has puesto alguna flecha que te relacione?, de todos modos porque no lo borras? ________________________________ _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios Si, en realidad lo conozco pero no lo uso, lo tengo en acceso directo tambien, pero lo uso muy muy poco. Pensando todo de nuevo, si existe una relaci?n te va si o s? a?adir la clave de la tabla origen en la destino (como foranea), el tema es si tu necesitas eso, nose porque has puesto la flecha en todo caso. Y por otro lado estaba viendo tu tablas y veo "usuWeb_tipo" un varchar 30, que a primera impresi?n es un "tipo" de algo, pero para un tipo es muy largo que definas una clave de 30 caracteres maximo, no estar?s guardando alg?n dato que no corresponde a otra tabla? (digo, estas normalizando bien?) salu2 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080110/9551a9c0/attachment.html From knowhow at sistemasyconectividad.com.mx Fri Jan 11 11:15:53 2008 From: knowhow at sistemasyconectividad.com.mx (=?ISO-8859-1?Q?Julio_Cesar_S=E1nchez_Gonz=E1lez?=) Date: Fri, 11 Jan 2008 04:15:53 -0600 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: References: Message-ID: <478741D9.1030206@sistemasyconectividad.com.mx> Cristian Alberto Mejia Medina wrote: > Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' donde en > 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian > tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde tengo > tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). Como > podria obtener un select de la forma : "Cristian Oro Bronce Cobre" ????? > > -- > TPI. Cristian Alberto Mejia Medina > > Have a nice day :o) > ------------------------------------------------------------------------ > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuario Con un join y concatenando los campos que quieres que formen la cadena de texto. -- Saludos, Julio Cesar S?nchez Gonz?lez. -- Ahora me he convertido en la muerte, destructora de mundos. Soy la Muerte que se lleva todo, la fuente de las cosas que vendran. www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/ From cmarti_ar at yahoo.com.ar Fri Jan 11 13:40:11 2008 From: cmarti_ar at yahoo.com.ar (Claudio Martinez) Date: Fri, 11 Jan 2008 09:40:11 -0300 (ART) Subject: [MySQL Hispano] collation In-Reply-To: <478293AD.3060600@yahoo.com.ar> Message-ID: <153861.98085.qm@web36607.mail.mud.yahoo.com> Mir?, yo tambi?n anduve dando vueltas con esto y si bien tiene que estar todo creado con una collation que permita los caracteres que vos quer?s, tendr?as que chequear que conjunto de caracteres "por default" son los que est?n en el servidor. Adem?s de ello en las p?ginas web debe colocarse un meta que defina el conjunto de caracteres y con ello, no deber?as tener problemas. Lo primero que te menciono pueda que a?n teniendo otro charset distinto a utf8 no tengas problemas pero lo del meta de la p?gina (busca en internet) tendr?a que cerrarte el asunto. Un abrazo. "Sebasti?n V. W?rtz" escribi?: Que tal si usas columnas fulltext? http://www.mysql-hispano.org/page.php?id=15 ruben gonzalez gonzalezz escribi?: > Hola tengo un problema con collation en mi servidor. Yo quiero que al realizar > una consulta como: > > SELECT id,name from person where name like "%gonzalez%"; > > obtenga las entradas con gonz?lez. Y no soy capaz. > > Los pasos que he segido son: > > 1.- Cree la base de datos: > $$ create database texttv DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci; > 2.- Cree la tabla > $$ DROP TABLE IF EXISTS `person`; > $$ CREATE TABLE `person` ( > $$ `id` int(11) NOT NULL auto_increment, > $$ `name` varchar(100) NOT NULL default '', > $$ `email` varchar(30) NOT NULL default '', > $$ `web` varchar(150) NOT NULL default '', > $$ `phone` varchar(30) NOT NULL default '', > $$ PRIMARY KEY (`id`) > $$ ) ENGINE=MyISAM; > 2.- met? los datos en un script en utf8 con set names utf8 > 3.- realizo la consulta. > > > Y nada de nada. > > Alguna sugerencia. > _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios --------------------------------- Los referentes m?s importantes en compra/venta de autos se juntaron: Demotores y Yahoo!.Ahora comprar o vender tu auto es m?s f?cil. Visit? http://ar.autos.yahoo.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/8cd11d0d/attachment.html From cristian.mejia at gmail.com Fri Jan 11 16:36:06 2008 From: cristian.mejia at gmail.com (Cristian Alberto Mejia Medina) Date: Fri, 11 Jan 2008 09:36:06 -0600 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: <478741D9.1030206@sistemasyconectividad.com.mx> References: <478741D9.1030206@sistemasyconectividad.com.mx> Message-ID: Hola, ya me avente el texto sobre normalizacion de mysql-hispano, y podria decir que mis tablas estan normalizadas al segundo nivel, aunque un tengo que normalizar dos tablas pero sigo teniendo el mismo problema,,,, Sobre el uso de join que comenta Julio no se si seria suceptible al orden de la cadena,,, ya que en mi ejemplo anterior (Mejor ilustrado): ID Nombre Caracteristica 1 Cristian ABC 2 Hugo BC 3 Paco CA Clave Caracteristica A Oro B Bronce C Cobre El Select que quiero lograr es uno que me regrese la informacion de esta manera: "Cristian Oro Bronce Cobre" "Hugo Bronce Cobre" "Paco Cobre Oro" Alguna Idea? 2008/1/11, Julio Cesar S?nchez Gonz?lez < knowhow at sistemasyconectividad.com.mx>: > > Cristian Alberto Mejia Medina wrote: > > Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' donde en > > 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian > > tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde tengo > > tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). Como > > podria obtener un select de la forma : "Cristian Oro Bronce Cobre" ????? > > > > -- > > TPI. Cristian Alberto Mejia Medina > > > > Have a nice day :o) > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Usuarios mailing list > > Usuarios at mysql-hispano.org > > http://lists.mysql-hispano.org/mailman/listinfo/usuario > > > Con un join y concatenando los campos que quieres que formen la cadena de > texto. > > > -- > Saludos, > > Julio Cesar S?nchez Gonz?lez. > > -- > Ahora me he convertido en la muerte, destructora de mundos. > Soy la Muerte que se lleva todo, la fuente de las cosas que vendran. > > www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/ > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/3ab6b05a/attachment.html From dumbomalo at yahoo.com.ar Fri Jan 11 17:12:39 2008 From: dumbomalo at yahoo.com.ar (=?ISO-8859-1?Q?=22Sebasti=E1n_V=2E_W=FCrtz=22?=) Date: Fri, 11 Jan 2008 14:12:39 -0200 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: References: <478741D9.1030206@sistemasyconectividad.com.mx> Message-ID: <47879577.9010408@yahoo.com.ar> An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/b7738185/attachment.html From cristian.mejia at gmail.com Fri Jan 11 17:40:01 2008 From: cristian.mejia at gmail.com (Cristian Alberto Mejia Medina) Date: Fri, 11 Jan 2008 10:40:01 -0600 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: <47879577.9010408@yahoo.com.ar> References: <478741D9.1030206@sistemasyconectividad.com.mx> <47879577.9010408@yahoo.com.ar> Message-ID: MMmmmMMM Thinking,,,,,,,,, Implica tener una tabla de relaciones ???no??? Still Thinkinh El d?a 11/01/08, "Sebasti?n V. W?rtz" escribi?: > > Cristian Alberto Mejia Medina escribi?: > > Hola, ya me avente el texto sobre normalizacion de mysql-hispano, y podria > decir que mis tablas estan normalizadas al segundo nivel, aunque un tengo > que normalizar dos tablas pero sigo teniendo el mismo problema,,,, > Sobre el uso de join que comenta Julio no se si seria suceptible al orden > de la cadena,,, ya que en mi ejemplo anterior (Mejor ilustrado): > > ID > > Nombre > > Caracteristica > > 1 > > Cristian > > ABC > > 2 > > Hugo > > BC > > 3 > > Paco > > CA > > > > Clave > > Caracteristica > > A > > Oro > > B > > Bronce > > C > > Cobre > > El Select que quiero lograr es uno que me regrese la informacion de esta > manera: "Cristian Oro Bronce Cobre" "Hugo Bronce Cobre" "Paco Cobre Oro" > > Alguna Idea? > > 2008/1/11, Julio Cesar S?nchez Gonz?lez < > knowhow at sistemasyconectividad.com.mx>: > > > > Cristian Alberto Mejia Medina wrote: > > > Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' donde en > > > 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian > > > tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde tengo > > > tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). Como > > > podria obtener un select de la forma : "Cristian Oro Bronce Cobre" > > ????? > > > > > > -- > > > TPI. Cristian Alberto Mejia Medina > > > > > > Have a nice day :o) > > > > > ------------------------------------------------------------------------ > > > > > > _______________________________________________ > > > Usuarios mailing list > > > Usuarios at mysql-hispano.org > > > http://lists.mysql-hispano.org/mailman/listinfo/usuario > > > > > > Con un join y concatenando los campos que quieres que formen la cadena > > de texto. > > > > > > -- > > Saludos, > > > > Julio Cesar S?nchez Gonz?lez. > > > > -- > > Ahora me he convertido en la muerte, destructora de mundos. > > Soy la Muerte que se lleva todo, la fuente de las cosas que vendran. > > > > www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/ > > > > _______________________________________________ > > Usuarios mailing list > > Usuarios at mysql-hispano.org > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > -- > TPI. Cristian Alberto Mejia Medina > > Have a nice day :o) > > ------------------------------ > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > sql: > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE u.usuario_id = > uc.usuario_id AND c.cosas_id = uc.cosas_id > > > -- > -- Estructura de tabla para la tabla `cosas` > -- > > CREATE TABLE IF NOT EXISTS `cosas` ( > `cosas_id` int(11) NOT NULL auto_increment, > `cosas_caracteristica` varchar(30) NOT NULL, > PRIMARY KEY (`cosas_id`) > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > -- > -- Volcar la base de datos para la tabla `cosas` > -- > > INSERT INTO `cosas` (`cosas_id`, `cosas_caracteristica`) VALUES > (1, 'Oro'), > (2, 'Bronce'), > (3, 'Cobre'); > > -- -------------------------------------------------------- > > -- > -- Estructura de tabla para la tabla `usuarios` > -- > > CREATE TABLE IF NOT EXISTS `usuarios` ( > `usuario_id` int(11) NOT NULL auto_increment, > `usuario_nombre` varchar(30) NOT NULL, > PRIMARY KEY (`usuario_id`) > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > -- > -- Volcar la base de datos para la tabla `usuarios` > -- > > INSERT INTO `usuarios` (`usuario_id`, `usuario_nombre`) VALUES > (1, 'cristian'), > (2, 'hugo'), > (3, 'paco'); > > -- -------------------------------------------------------- > > -- > -- Estructura de tabla para la tabla `usuario_cosas` > -- > > CREATE TABLE IF NOT EXISTS `usuario_cosas` ( > `usuario_id` int(11) NOT NULL, > `cosas_id` int(11) NOT NULL, > PRIMARY KEY (`usuario_id`,`cosas_id`) > ) ENGINE=MyISAM DEFAULT CHARSET=latin1; > > -- > -- Volcar la base de datos para la tabla `usuario_cosas` > -- > > INSERT INTO `usuario_cosas` (`usuario_id`, `cosas_id`) VALUES > (1, 1), > (1, 2), > (1, 3), > (2, 2), > (2, 3), > (3, 1), > (3, 3); > > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/ac1b74b5/attachment.html From cristian.mejia at gmail.com Fri Jan 11 18:11:51 2008 From: cristian.mejia at gmail.com (Cristian Alberto Mejia Medina) Date: Fri, 11 Jan 2008 11:11:51 -0600 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: References: <478741D9.1030206@sistemasyconectividad.com.mx> <47879577.9010408@yahoo.com.ar> Message-ID: Haciendo un analisis sobre normalizar la tabla llegue a la conclusi?n de que en la tabla de relaciones tendria como maximo de registros: (USUARIOS pot COSAS) esperando tener un catalogo de 300 cosas,,, lo que haria que en la tabla de relaciones tendr?a muchos registros, entiendo que esto no seria gran problema para el motor de la BD sin embargo si para la comprension de la BD. El d?a 11/01/08, Cristian Alberto Mejia Medina escribi?: > > MMmmmMMM Thinking,,,,,,,,, > > Implica tener una tabla de relaciones ???no??? > > Still Thinkinh > > El d?a 11/01/08, "Sebasti?n V. W?rtz" < dumbomalo at yahoo.com.ar> escribi?: > > > > Cristian Alberto Mejia Medina escribi?: > > > > Hola, ya me avente el texto sobre normalizacion de mysql-hispano, y > > podria decir que mis tablas estan normalizadas al segundo nivel, aunque un > > tengo que normalizar dos tablas pero sigo teniendo el mismo problema,,,, > > Sobre el uso de join que comenta Julio no se si seria suceptible al > > orden de la cadena,,, ya que en mi ejemplo anterior (Mejor ilustrado): > > > > ID > > > > Nombre > > > > Caracteristica > > > > 1 > > > > Cristian > > > > ABC > > > > 2 > > > > Hugo > > > > BC > > > > 3 > > > > Paco > > > > CA > > > > > > > > Clave > > > > Caracteristica > > > > A > > > > Oro > > > > B > > > > Bronce > > > > C > > > > Cobre > > > > El Select que quiero lograr es uno que me regrese la informacion de esta > > manera: "Cristian Oro Bronce Cobre" "Hugo Bronce Cobre" "Paco Cobre Oro" > > > > Alguna Idea? > > > > 2008/1/11, Julio Cesar S?nchez Gonz?lez < > > knowhow at sistemasyconectividad.com.mx>: > > > > > > Cristian Alberto Mejia Medina wrote: > > > > Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' donde > > > en > > > > 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian > > > > tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde tengo > > > > tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). Como > > > > podria obtener un select de la forma : "Cristian Oro Bronce Cobre" > > > ????? > > > > > > > > -- > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > Have a nice day :o) > > > > > > > ------------------------------------------------------------------------ > > > > > > > > _______________________________________________ > > > > Usuarios mailing list > > > > Usuarios at mysql-hispano.org > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuario > > > > > > > > > Con un join y concatenando los campos que quieres que formen la cadena > > > de texto. > > > > > > > > > -- > > > Saludos, > > > > > > Julio Cesar S?nchez Gonz?lez. > > > > > > -- > > > Ahora me he convertido en la muerte, destructora de mundos. > > > Soy la Muerte que se lleva todo, la fuente de las cosas que vendran. > > > > > > www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/ > > > > > > _______________________________________________ > > > Usuarios mailing list > > > Usuarios at mysql-hispano.org > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > -- > > TPI. Cristian Alberto Mejia Medina > > > > Have a nice day :o) > > > > ------------------------------ > > > > _______________________________________________ > > Usuarios mailing list > > > > Usuarios at mysql-hispano.org > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > sql: > > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE u.usuario_id = > > uc.usuario_id AND c.cosas_id = uc.cosas_id > > > > > > -- > > -- Estructura de tabla para la tabla `cosas` > > -- > > > > CREATE TABLE IF NOT EXISTS `cosas` ( > > `cosas_id` int(11) NOT NULL auto_increment, > > `cosas_caracteristica` varchar(30) NOT NULL, > > PRIMARY KEY (`cosas_id`) > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > > > -- > > -- Volcar la base de datos para la tabla `cosas` > > -- > > > > INSERT INTO `cosas` (`cosas_id`, `cosas_caracteristica`) VALUES > > (1, 'Oro'), > > (2, 'Bronce'), > > (3, 'Cobre'); > > > > -- -------------------------------------------------------- > > > > -- > > -- Estructura de tabla para la tabla `usuarios` > > -- > > > > CREATE TABLE IF NOT EXISTS `usuarios` ( > > `usuario_id` int(11) NOT NULL auto_increment, > > `usuario_nombre` varchar(30) NOT NULL, > > PRIMARY KEY (`usuario_id`) > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > > > -- > > -- Volcar la base de datos para la tabla `usuarios` > > -- > > > > INSERT INTO `usuarios` (`usuario_id`, `usuario_nombre`) VALUES > > (1, 'cristian'), > > (2, 'hugo'), > > (3, 'paco'); > > > > -- -------------------------------------------------------- > > > > -- > > -- Estructura de tabla para la tabla `usuario_cosas` > > -- > > > > CREATE TABLE IF NOT EXISTS `usuario_cosas` ( > > `usuario_id` int(11) NOT NULL, > > `cosas_id` int(11) NOT NULL, > > PRIMARY KEY (`usuario_id`,`cosas_id`) > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1; > > > > -- > > -- Volcar la base de datos para la tabla `usuario_cosas` > > -- > > > > INSERT INTO `usuario_cosas` (`usuario_id`, `cosas_id`) VALUES > > (1, 1), > > (1, 2), > > (1, 3), > > (2, 2), > > (2, 3), > > (3, 1), > > (3, 3); > > > > > > _______________________________________________ > > Usuarios mailing list > > Usuarios at mysql-hispano.org > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > -- > TPI. Cristian Alberto Mejia Medina > > Have a nice day :o) > -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/2335d948/attachment.html From fernandocns at consciencia.com.br Fri Jan 11 19:12:39 2008 From: fernandocns at consciencia.com.br (=?iso-8859-1?Q?Fernando_-_Consci=EAncia?=) Date: Fri, 11 Jan 2008 15:12:39 -0300 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: References: <478741D9.1030206@sistemasyconectividad.com.mx><47879577.9010408@yahoo.com.ar> Message-ID: Tiente esse: Select concat_ws("",t1.nombre," ",(select GROUP_CONCAT(DISTINCT t2.Caracteristica ORDER BY t2.Caracteristica SEPARATOR " ") from Table2 t2 where t2.clave like '%t1.Caracteristica%') as NombreCompleto from Table1 t1 Segue: Table1 ID Nombre Caracteristica 1 Cristian ABC 2 Hugo BC 3 Paco CA Table2 Clave Caracteristica A Oro B Bronce C Cobre El Select que quiero lograr es uno que me regrese la informacion de esta manera: "Cristian Oro Bronce Cobre" "Hugo Bronce Cobre" "Paco Cobre Oro" Alguna Idea? 2008/1/11, Julio Cesar S?nchez Gonz?lez : Cristian Alberto Mejia Medina wrote: > Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' donde en > 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian > tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde tengo > tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). Como > podria obtener un select de la forma : "Cristian Oro Bronce Cobre" ????? > > -- > TPI. Cristian Alberto Mejia Medina > > Have a nice day :o) > ------------------------------------------------------------------------ > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuario Con un join y concatenando los campos que quieres que formen la cadena de texto. -- Saludos, Julio Cesar S?nchez Gonz?lez. -- Ahora me he convertido en la muerte, destructora de mundos. Soy la Muerte que se lleva todo, la fuente de las cosas que vendran. www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/ _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) --------------------------------------------------------------------------_______________________________________________Usuarios mailing list Usuarios at mysql-hispano.orghttp://lists.mysql-hispano.org/mailman/listinfo/usuarios sql: SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE u.usuario_id = uc.usuario_id AND c.cosas_id = uc.cosas_id -- -- Estructura de tabla para la tabla `cosas` -- CREATE TABLE IF NOT EXISTS `cosas` ( `cosas_id` int(11) NOT NULL auto_increment, `cosas_caracteristica` varchar(30) NOT NULL, PRIMARY KEY (`cosas_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; -- -- Volcar la base de datos para la tabla `cosas` -- INSERT INTO `cosas` (`cosas_id`, `cosas_caracteristica`) VALUES (1, 'Oro'), (2, 'Bronce'), (3, 'Cobre'); -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `usuarios` -- CREATE TABLE IF NOT EXISTS `usuarios` ( `usuario_id` int(11) NOT NULL auto_increment, `usuario_nombre` varchar(30) NOT NULL, PRIMARY KEY (`usuario_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; -- -- Volcar la base de datos para la tabla `usuarios` -- INSERT INTO `usuarios` (`usuario_id`, `usuario_nombre`) VALUES (1, 'cristian'), (2, 'hugo'), (3, 'paco'); -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `usuario_cosas` -- CREATE TABLE IF NOT EXISTS `usuario_cosas` ( `usuario_id` int(11) NOT NULL, `cosas_id` int(11) NOT NULL, PRIMARY KEY (`usuario_id`,`cosas_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- -- Volcar la base de datos para la tabla `usuario_cosas` -- INSERT INTO `usuario_cosas` (`usuario_id`, `cosas_id`) VALUES (1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 1), (3, 3); _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) ------------------------------------------------------------------------------ _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/86dd796b/attachment.html From dumbomalo at yahoo.com.ar Fri Jan 11 19:43:09 2008 From: dumbomalo at yahoo.com.ar (=?ISO-8859-1?Q?=22Sebasti=E1n_V=2E_W=FCrtz=22?=) Date: Fri, 11 Jan 2008 16:43:09 -0200 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: References: <478741D9.1030206@sistemasyconectividad.com.mx> <47879577.9010408@yahoo.com.ar> Message-ID: <4787B8BD.1000607@yahoo.com.ar> An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/74fcaa3f/attachment.html From vicisbue at gmail.com Fri Jan 11 19:43:23 2008 From: vicisbue at gmail.com (Victor Isabel Bueno) Date: Fri, 11 Jan 2008 19:43:23 +0100 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: References: <478741D9.1030206@sistemasyconectividad.com.mx> <47879577.9010408@yahoo.com.ar> Message-ID: <87bd82e90801111043u59120487n4357c2252fcb3143@mail.gmail.com> La soluci?n correcta ser?a tener 3 tablas. - una para el catalogo - una para los usuarios - una para las relaciones entre ambos. No te cuestiones nada m?s porque no hay otra forma mejor de hacerlo... El resto sinceramente opino que son malas soluciones. Un saludo. 2008/1/11, Fernando - Consci?ncia : > > Tiente esse: > > Select concat_ws("",t1.nombre," ",(select GROUP_CONCAT(DISTINCT > t2.Caracteristica ORDER BY t2.Caracteristica SEPARATOR " ") from Table2 > t2 where t2.clave like '%t1.Caracteristica%') as NombreCompleto from > Table1 t1 > > Segue: > > *Table1* > > ID > > Nombre > > Caracteristica > > 1 > > Cristian > > ABC > > 2 > > Hugo > > BC > > 3 > > Paco > > CA > > > *Table2* > > > > Clave > > > > Caracteristica > > > > A > > > > Oro > > > > B > > > > Bronce > > > > C > > > > Cobre > > > > El Select que quiero lograr es uno que me regrese la informacion de esta > > manera: "Cristian Oro Bronce Cobre" "Hugo Bronce Cobre" "Paco Cobre Oro" > > > > Alguna Idea? > > > > 2008/1/11, Julio Cesar S?nchez Gonz?lez < > > knowhow at sistemasyconectividad.com.mx>: > > > > > > Cristian Alberto Mejia Medina wrote: > > > > Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' donde > > > en > > > > 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian > > > > tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde tengo > > > > tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). Como > > > > podria obtener un select de la forma : "Cristian Oro Bronce Cobre" > > > ????? > > > > > > > > -- > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > Have a nice day :o) > > > > > > > ------------------------------------------------------------------------ > > > > > > > > _______________________________________________ > > > > Usuarios mailing list > > > > Usuarios at mysql-hispano.org > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuario > > > > > > > > > Con un join y concatenando los campos que quieres que formen la cadena > > > de texto. > > > > > > > > > -- > > > Saludos, > > > > > > Julio Cesar S?nchez Gonz?lez. > > > > > > -- > > > Ahora me he convertido en la muerte, destructora de mundos. > > > Soy la Muerte que se lleva todo, la fuente de las cosas que vendran. > > > > > > www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/ > > > > > > _______________________________________________ > > > Usuarios mailing list > > > Usuarios at mysql-hispano.org > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > -- > > TPI. Cristian Alberto Mejia Medina > > > > Have a nice day :o) > > > > ------------------------------ > > _______________________________________________ > Usuarios mailing list > > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > sql: > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE u.usuario_id = > uc.usuario_id AND c.cosas_id = uc.cosas_id > > > -- > -- Estructura de tabla para la tabla `cosas` > -- > > CREATE TABLE IF NOT EXISTS `cosas` ( > `cosas_id` int(11) NOT NULL auto_increment, > `cosas_caracteristica` varchar(30) NOT NULL, > PRIMARY KEY (`cosas_id`) > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > -- > -- Volcar la base de datos para la tabla `cosas` > -- > > INSERT INTO `cosas` (`cosas_id`, `cosas_caracteristica`) VALUES > (1, 'Oro'), > (2, 'Bronce'), > (3, 'Cobre'); > > -- -------------------------------------------------------- > > -- > -- Estructura de tabla para la tabla `usuarios` > -- > > CREATE TABLE IF NOT EXISTS `usuarios` ( > `usuario_id` int(11) NOT NULL auto_increment, > `usuario_nombre` varchar(30) NOT NULL, > PRIMARY KEY (`usuario_id`) > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > -- > -- Volcar la base de datos para la tabla `usuarios` > -- > > INSERT INTO `usuarios` (`usuario_id`, `usuario_nombre`) VALUES > (1, 'cristian'), > (2, 'hugo'), > (3, 'paco'); > > -- -------------------------------------------------------- > > -- > -- Estructura de tabla para la tabla `usuario_cosas` > -- > > CREATE TABLE IF NOT EXISTS `usuario_cosas` ( > `usuario_id` int(11) NOT NULL, > `cosas_id` int(11) NOT NULL, > PRIMARY KEY (`usuario_id`,`cosas_id`) > ) ENGINE=MyISAM DEFAULT CHARSET=latin1; > > -- > -- Volcar la base de datos para la tabla `usuario_cosas` > -- > > INSERT INTO `usuario_cosas` (`usuario_id`, `cosas_id`) VALUES > (1, 1), > (1, 2), > (1, 3), > (2, 2), > (2, 3), > (3, 1), > (3, 3); > > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > -- > TPI. Cristian Alberto Mejia Medina > > Have a nice day :o) > > ------------------------------ > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > -- --. V?ctor Isabel Bueno .-- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/c9d172d4/attachment.html From cristian.mejia at gmail.com Fri Jan 11 19:49:32 2008 From: cristian.mejia at gmail.com (Cristian Alberto Mejia Medina) Date: Fri, 11 Jan 2008 12:49:32 -0600 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: <4787B8BD.1000607@yahoo.com.ar> References: <478741D9.1030206@sistemasyconectividad.com.mx> <47879577.9010408@yahoo.com.ar> <4787B8BD.1000607@yahoo.com.ar> Message-ID: De Hecho no he podido aplicar el query de Fernando,,, pero creo que es una buena solucion,,, Tiener razon sobre la tabla de relaci?n, me gustaria normalizar esos registros, pero como te comento aun temo la cantidad de registros que habra en la tabla de relaciones, en mis estimaciones he notado que la Base de Datos creceria demaciado,, tambien estamos analizando si podemos cambiar la forma en que tratamos la informacion, pero todo parece apuntar a que tendremos que hacer dos consultas, cosa que aun quiero solucionar... El d?a 11/01/08, "Sebasti?n V. W?rtz" escribi?: > > Cristian Alberto Mejia Medina escribi?: > > Haciendo un analisis sobre normalizar la tabla llegue a la conclusi?n de > que en la tabla de relaciones tendria como maximo de registros: > (USUARIOS pot COSAS) esperando tener un catalogo de 300 cosas,,, lo que > haria que en la tabla de relaciones tendr?a muchos registros, entiendo que > esto no seria gran problema para el motor de la BD sin embargo si para la > comprension de la BD. > > El d?a 11/01/08, Cristian Alberto Mejia Medina > escribi?: > > > > MMmmmMMM Thinking,,,,,,,,, > > > > Implica tener una tabla de relaciones ???no??? > > > > Still Thinkinh > > > > El d?a 11/01/08, "Sebasti?n V. W?rtz" < dumbomalo at yahoo.com.ar> > > escribi?: > > > > > > Cristian Alberto Mejia Medina escribi?: > > > > > > Hola, ya me avente el texto sobre normalizacion de mysql-hispano, y > > > podria decir que mis tablas estan normalizadas al segundo nivel, aunque un > > > tengo que normalizar dos tablas pero sigo teniendo el mismo problema,,,, > > > Sobre el uso de join que comenta Julio no se si seria suceptible al > > > orden de la cadena,,, ya que en mi ejemplo anterior (Mejor ilustrado): > > > > > > ID > > > > > > Nombre > > > > > > Caracteristica > > > > > > 1 > > > > > > Cristian > > > > > > ABC > > > > > > 2 > > > > > > Hugo > > > > > > BC > > > > > > 3 > > > > > > Paco > > > > > > CA > > > > > > > > > > > > Clave > > > > > > Caracteristica > > > > > > A > > > > > > Oro > > > > > > B > > > > > > Bronce > > > > > > C > > > > > > Cobre > > > > > > El Select que quiero lograr es uno que me regrese la informacion de > > > esta manera: "Cristian Oro Bronce Cobre" "Hugo Bronce Cobre" "Paco Cobre > > > Oro" > > > > > > Alguna Idea? > > > > > > 2008/1/11, Julio Cesar S?nchez Gonz?lez < > > > knowhow at sistemasyconectividad.com.mx>: > > > > > > > > Cristian Alberto Mejia Medina wrote: > > > > > Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' > > > > donde en > > > > > 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian > > > > > tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde > > > > tengo > > > > > tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). Como > > > > > podria obtener un select de la forma : "Cristian Oro Bronce Cobre" > > > > ????? > > > > > > > > > > -- > > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > > > Have a nice day :o) > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > > _______________________________________________ > > > > > Usuarios mailing list > > > > > Usuarios at mysql-hispano.org > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuario > > > > > > > > > > > > Con un join y concatenando los campos que quieres que formen la > > > > cadena de texto. > > > > > > > > > > > > -- > > > > Saludos, > > > > > > > > Julio Cesar S?nchez Gonz?lez. > > > > > > > > -- > > > > Ahora me he convertido en la muerte, destructora de mundos. > > > > Soy la Muerte que se lleva todo, la fuente de las cosas que vendran. > > > > > > > > www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/ > > > > > > > > _______________________________________________ > > > > Usuarios mailing list > > > > Usuarios at mysql-hispano.org > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > -- > > > TPI. Cristian Alberto Mejia Medina > > > > > > Have a nice day :o) > > > > > > ------------------------------ > > > > > > _______________________________________________ > > > Usuarios mailing list > > > > > > > > > Usuarios at mysql-hispano.org > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > sql: > > > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE u.usuario_id= > > > uc.usuario_id AND c.cosas_id = uc.cosas_id > > > > > > > > > -- > > > -- Estructura de tabla para la tabla `cosas` > > > -- > > > > > > CREATE TABLE IF NOT EXISTS `cosas` ( > > > `cosas_id` int(11) NOT NULL auto_increment, > > > `cosas_caracteristica` varchar(30) NOT NULL, > > > PRIMARY KEY (`cosas_id`) > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > > > > > -- > > > -- Volcar la base de datos para la tabla `cosas` > > > -- > > > > > > INSERT INTO `cosas` (`cosas_id`, `cosas_caracteristica`) VALUES > > > (1, 'Oro'), > > > (2, 'Bronce'), > > > (3, 'Cobre'); > > > > > > -- -------------------------------------------------------- > > > > > > -- > > > -- Estructura de tabla para la tabla `usuarios` > > > -- > > > > > > CREATE TABLE IF NOT EXISTS `usuarios` ( > > > `usuario_id` int(11) NOT NULL auto_increment, > > > `usuario_nombre` varchar(30) NOT NULL, > > > PRIMARY KEY (`usuario_id`) > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > > > > > -- > > > -- Volcar la base de datos para la tabla `usuarios` > > > -- > > > > > > INSERT INTO `usuarios` (`usuario_id`, `usuario_nombre`) VALUES > > > (1, 'cristian'), > > > (2, 'hugo'), > > > (3, 'paco'); > > > > > > -- -------------------------------------------------------- > > > > > > -- > > > -- Estructura de tabla para la tabla `usuario_cosas` > > > -- > > > > > > CREATE TABLE IF NOT EXISTS `usuario_cosas` ( > > > `usuario_id` int(11) NOT NULL, > > > `cosas_id` int(11) NOT NULL, > > > PRIMARY KEY (`usuario_id`,`cosas_id`) > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1; > > > > > > -- > > > -- Volcar la base de datos para la tabla `usuario_cosas` > > > -- > > > > > > INSERT INTO `usuario_cosas` (`usuario_id`, `cosas_id`) VALUES > > > (1, 1), > > > (1, 2), > > > (1, 3), > > > (2, 2), > > > (2, 3), > > > (3, 1), > > > (3, 3); > > > > > > > > > _______________________________________________ > > > Usuarios mailing list > > > Usuarios at mysql-hispano.org > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > -- > > TPI. Cristian Alberto Mejia Medina > > > > Have a nice day :o) > > > > > > -- > TPI. Cristian Alberto Mejia Medina > > Have a nice day :o) > > ------------------------------ > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > 1. Una tabla que contenga 2 registros sigue siendo una tabla, ademas es > una tabla de relacion y sino me equivoco (porque nada es seguro en esta > vida) est? bien planteada. > 2. La tabla de relacion va a tener muchos registros como tengas > "relaciones" pero es mejor tener los ids juntos en una sola tabla que el db > engine te haga una tabla temporal en su memoria con todos los datos extras > que no utiliz?s si lo planteas como en el inicio de tu mail. > > Por otro lado veo que alguien escribi? otro sql, que a mi gusto es > bastante complicado > > Select concat_ws("",t1.nombre," ",(select GROUP_CONCAT(DISTINCT > t2.Caracteristica ORDER BY t2.Caracteristica SEPARATOR " ") from Table2 > t2 where t2.clave like '%t1.Caracteristica%') as NombreCompleto from > Table1 t1 > > vs > > > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE u.usuario_id = > uc.usuario_id AND c.cosas_id = uc.cosas_id > > ademas mi sql es sql ansi92 :), osea m?s compatible, sino me equivoco > mysql 4 no soporta GROUP_CONCAT > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/131d77b8/attachment.html From vicisbue at gmail.com Fri Jan 11 19:59:38 2008 From: vicisbue at gmail.com (Victor Isabel Bueno) Date: Fri, 11 Jan 2008 19:59:38 +0100 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: References: <478741D9.1030206@sistemasyconectividad.com.mx> <47879577.9010408@yahoo.com.ar> <4787B8BD.1000607@yahoo.com.ar> Message-ID: <87bd82e90801111059s1b5f8f97t55910ebf457aea34@mail.gmail.com> Por que temes tanto el numero de registros? Las bases de datos est?n hechas para eso,,, para almacenar registros. Si te sirve de algo yo he visto aplicaciones funcionar perfectamente con mas de 60 tablas y varias de ellas con un mill?n de registros tanto en access como en mysql... y creeme si access puede tener un tabla con un millon de registros seguro que mysql puede soportar much?simo mas. Tantos registros vas a tener? El d?a 11/01/08, Cristian Alberto Mejia Medina escribi?: > > De Hecho no he podido aplicar el query de Fernando,,, pero creo que es una > buena solucion,,, Tiener razon sobre la tabla de relaci?n, me gustaria > normalizar esos registros, pero como te comento aun temo la cantidad de > registros que habra en la tabla de relaciones, en mis estimaciones he notado > que la Base de Datos creceria demaciado,, tambien estamos analizando si > podemos cambiar la forma en que tratamos la informacion, pero todo parece > apuntar a que tendremos que hacer dos consultas, cosa que aun quiero > solucionar... > > El d?a 11/01/08, "Sebasti?n V. W?rtz" escribi?: > > > > Cristian Alberto Mejia Medina escribi?: > > > > Haciendo un analisis sobre normalizar la tabla llegue a la conclusi?n de > > que en la tabla de relaciones tendria como maximo de registros: > > (USUARIOS pot COSAS) esperando tener un catalogo de 300 cosas,,, lo que > > haria que en la tabla de relaciones tendr?a muchos registros, entiendo que > > esto no seria gran problema para el motor de la BD sin embargo si para la > > comprension de la BD. > > > > El d?a 11/01/08, Cristian Alberto Mejia Medina > > escribi?: > > > > > > MMmmmMMM Thinking,,,,,,,,, > > > > > > Implica tener una tabla de relaciones ???no??? > > > > > > Still Thinkinh > > > > > > El d?a 11/01/08, "Sebasti?n V. W?rtz" < dumbomalo at yahoo.com.ar> > > > escribi?: > > > > > > > > Cristian Alberto Mejia Medina escribi?: > > > > > > > > Hola, ya me avente el texto sobre normalizacion de mysql-hispano, y > > > > podria decir que mis tablas estan normalizadas al segundo nivel, aunque un > > > > tengo que normalizar dos tablas pero sigo teniendo el mismo problema,,,, > > > > Sobre el uso de join que comenta Julio no se si seria suceptible al > > > > orden de la cadena,,, ya que en mi ejemplo anterior (Mejor ilustrado): > > > > > > > > ID > > > > > > > > Nombre > > > > > > > > Caracteristica > > > > > > > > 1 > > > > > > > > Cristian > > > > > > > > ABC > > > > > > > > 2 > > > > > > > > Hugo > > > > > > > > BC > > > > > > > > 3 > > > > > > > > Paco > > > > > > > > CA > > > > > > > > > > > > > > > > Clave > > > > > > > > Caracteristica > > > > > > > > A > > > > > > > > Oro > > > > > > > > B > > > > > > > > Bronce > > > > > > > > C > > > > > > > > Cobre > > > > > > > > El Select que quiero lograr es uno que me regrese la informacion de > > > > esta manera: "Cristian Oro Bronce Cobre" "Hugo Bronce Cobre" "Paco Cobre > > > > Oro" > > > > > > > > Alguna Idea? > > > > > > > > 2008/1/11, Julio Cesar S?nchez Gonz?lez < > > > > knowhow at sistemasyconectividad.com.mx>: > > > > > > > > > > Cristian Alberto Mejia Medina wrote: > > > > > > Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' > > > > > donde en > > > > > > 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian > > > > > > tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde > > > > > tengo > > > > > > tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). > > > > > Como > > > > > > podria obtener un select de la forma : "Cristian Oro Bronce > > > > > Cobre" ????? > > > > > > > > > > > > -- > > > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > > > > > Have a nice day :o) > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > > > > _______________________________________________ > > > > > > Usuarios mailing list > > > > > > Usuarios at mysql-hispano.org > > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuario > > > > > > > > > > > > > > > Con un join y concatenando los campos que quieres que formen la > > > > > cadena de texto. > > > > > > > > > > > > > > > -- > > > > > Saludos, > > > > > > > > > > Julio Cesar S?nchez Gonz?lez. > > > > > > > > > > -- > > > > > Ahora me he convertido en la muerte, destructora de mundos. > > > > > Soy la Muerte que se lleva todo, la fuente de las cosas que > > > > > vendran. > > > > > > > > > > www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/ > > > > > > > > > > _______________________________________________ > > > > > Usuarios mailing list > > > > > Usuarios at mysql-hispano.org > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > > > > > -- > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > Have a nice day :o) > > > > > > > > ------------------------------ > > > > > > > > _______________________________________________ > > > > Usuarios mailing list > > > > > > > > > > > > Usuarios at mysql-hispano.org > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > sql: > > > > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE > > > > u.usuario_id = uc.usuario_id AND c.cosas_id = uc.cosas_id > > > > > > > > > > > > -- > > > > -- Estructura de tabla para la tabla `cosas` > > > > -- > > > > > > > > CREATE TABLE IF NOT EXISTS `cosas` ( > > > > `cosas_id` int(11) NOT NULL auto_increment, > > > > `cosas_caracteristica` varchar(30) NOT NULL, > > > > PRIMARY KEY (`cosas_id`) > > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > > > > > > > -- > > > > -- Volcar la base de datos para la tabla `cosas` > > > > -- > > > > > > > > INSERT INTO `cosas` (`cosas_id`, `cosas_caracteristica`) VALUES > > > > (1, 'Oro'), > > > > (2, 'Bronce'), > > > > (3, 'Cobre'); > > > > > > > > -- -------------------------------------------------------- > > > > > > > > -- > > > > -- Estructura de tabla para la tabla `usuarios` > > > > -- > > > > > > > > CREATE TABLE IF NOT EXISTS `usuarios` ( > > > > `usuario_id` int(11) NOT NULL auto_increment, > > > > `usuario_nombre` varchar(30) NOT NULL, > > > > PRIMARY KEY (`usuario_id`) > > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > > > > > > > -- > > > > -- Volcar la base de datos para la tabla `usuarios` > > > > -- > > > > > > > > INSERT INTO `usuarios` (`usuario_id`, `usuario_nombre`) VALUES > > > > (1, 'cristian'), > > > > (2, 'hugo'), > > > > (3, 'paco'); > > > > > > > > -- -------------------------------------------------------- > > > > > > > > -- > > > > -- Estructura de tabla para la tabla `usuario_cosas` > > > > -- > > > > > > > > CREATE TABLE IF NOT EXISTS `usuario_cosas` ( > > > > `usuario_id` int(11) NOT NULL, > > > > `cosas_id` int(11) NOT NULL, > > > > PRIMARY KEY (`usuario_id`,`cosas_id`) > > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1; > > > > > > > > -- > > > > -- Volcar la base de datos para la tabla `usuario_cosas` > > > > -- > > > > > > > > INSERT INTO `usuario_cosas` (`usuario_id`, `cosas_id`) VALUES > > > > (1, 1), > > > > (1, 2), > > > > (1, 3), > > > > (2, 2), > > > > (2, 3), > > > > (3, 1), > > > > (3, 3); > > > > > > > > > > > > _______________________________________________ > > > > Usuarios mailing list > > > > Usuarios at mysql-hispano.org > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > -- > > > TPI. Cristian Alberto Mejia Medina > > > > > > Have a nice day :o) > > > > > > > > > > > -- > > TPI. Cristian Alberto Mejia Medina > > > > Have a nice day :o) > > > > ------------------------------ > > > > _______________________________________________ > > Usuarios mailing list > > > > Usuarios at mysql-hispano.org > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > 1. Una tabla que contenga 2 registros sigue siendo una tabla, ademas es > > una tabla de relacion y sino me equivoco (porque nada es seguro en esta > > vida) est? bien planteada. > > 2. La tabla de relacion va a tener muchos registros como tengas > > "relaciones" pero es mejor tener los ids juntos en una sola tabla que el db > > engine te haga una tabla temporal en su memoria con todos los datos extras > > que no utiliz?s si lo planteas como en el inicio de tu mail. > > > > Por otro lado veo que alguien escribi? otro sql, que a mi gusto es > > bastante complicado > > > > Select concat_ws("",t1.nombre," ",(select GROUP_CONCAT(DISTINCT > > t2.Caracteristica ORDER BY t2.Caracteristica SEPARATOR " ") from Table2 > > t2 where t2.clave like '%t1.Caracteristica%') as NombreCompleto from > > Table1 t1 > > > > vs > > > > > > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE u.usuario_id = > > uc.usuario_id AND c.cosas_id = uc.cosas_id > > > > ademas mi sql es sql ansi92 :), osea m?s compatible, sino me equivoco > > mysql 4 no soporta GROUP_CONCAT > > > > _______________________________________________ > > Usuarios mailing list > > Usuarios at mysql-hispano.org > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > -- > TPI. Cristian Alberto Mejia Medina > > Have a nice day :o) > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > -- --. V?ctor Isabel Bueno .-- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/16364816/attachment.html From cristian.mejia at gmail.com Fri Jan 11 20:16:58 2008 From: cristian.mejia at gmail.com (Cristian Alberto Mejia Medina) Date: Fri, 11 Jan 2008 13:16:58 -0600 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: <87bd82e90801111059s1b5f8f97t55910ebf457aea34@mail.gmail.com> References: <478741D9.1030206@sistemasyconectividad.com.mx> <47879577.9010408@yahoo.com.ar> <4787B8BD.1000607@yahoo.com.ar> <87bd82e90801111059s1b5f8f97t55910ebf457aea34@mail.gmail.com> Message-ID: En la estimacion que hice eran hasta 300 cosas por usuario, y considere como 15 usuarios inicialmente,,,, y en vista de no haber encontrado ninguna otra solucion creo que tendre que hacer eso,,, o una doble consulta,,, El d?a 11/01/08, Victor Isabel Bueno escribi?: > > Por que temes tanto el numero de registros? Las bases de datos est?n > hechas para eso,,, para almacenar registros. Si te sirve de algo yo he visto > aplicaciones funcionar perfectamente con mas de 60 tablas y varias de ellas > con un mill?n de registros tanto en access como en mysql... y creeme si > access puede tener un tabla con un millon de registros seguro que mysql > puede soportar much?simo mas. Tantos registros vas a tener? > > El d?a 11/01/08, Cristian Alberto Mejia Medina > escribi?: > > > > De Hecho no he podido aplicar el query de Fernando,,, pero creo que es > > una buena solucion,,, Tiener razon sobre la tabla de relaci?n, me gustaria > > normalizar esos registros, pero como te comento aun temo la cantidad de > > registros que habra en la tabla de relaciones, en mis estimaciones he notado > > que la Base de Datos creceria demaciado,, tambien estamos analizando si > > podemos cambiar la forma en que tratamos la informacion, pero todo parece > > apuntar a que tendremos que hacer dos consultas, cosa que aun quiero > > solucionar... > > > > El d?a 11/01/08, "Sebasti?n V. W?rtz" < dumbomalo at yahoo.com.ar> > > escribi?: > > > > > > Cristian Alberto Mejia Medina escribi?: > > > > > > Haciendo un analisis sobre normalizar la tabla llegue a la conclusi?n > > > de que en la tabla de relaciones tendria como maximo de registros: > > > (USUARIOS pot COSAS) esperando tener un catalogo de 300 cosas,,, lo > > > que haria que en la tabla de relaciones tendr?a muchos registros, entiendo > > > que esto no seria gran problema para el motor de la BD sin embargo si para > > > la comprension de la BD. > > > > > > El d?a 11/01/08, Cristian Alberto Mejia Medina > > > escribi?: > > > > > > > > MMmmmMMM Thinking,,,,,,,,, > > > > > > > > Implica tener una tabla de relaciones ???no??? > > > > > > > > Still Thinkinh > > > > > > > > El d?a 11/01/08, "Sebasti?n V. W?rtz" < dumbomalo at yahoo.com.ar> > > > > escribi?: > > > > > > > > > > Cristian Alberto Mejia Medina escribi?: > > > > > > > > > > Hola, ya me avente el texto sobre normalizacion de mysql-hispano, > > > > > y podria decir que mis tablas estan normalizadas al segundo nivel, aunque un > > > > > tengo que normalizar dos tablas pero sigo teniendo el mismo problema,,,, > > > > > Sobre el uso de join que comenta Julio no se si seria suceptible > > > > > al orden de la cadena,,, ya que en mi ejemplo anterior (Mejor ilustrado): > > > > > > > > > > ID > > > > > > > > > > Nombre > > > > > > > > > > Caracteristica > > > > > > > > > > 1 > > > > > > > > > > Cristian > > > > > > > > > > ABC > > > > > > > > > > 2 > > > > > > > > > > Hugo > > > > > > > > > > BC > > > > > > > > > > 3 > > > > > > > > > > Paco > > > > > > > > > > CA > > > > > > > > > > > > > > > > > > > > Clave > > > > > > > > > > Caracteristica > > > > > > > > > > A > > > > > > > > > > Oro > > > > > > > > > > B > > > > > > > > > > Bronce > > > > > > > > > > C > > > > > > > > > > Cobre > > > > > > > > > > El Select que quiero lograr es uno que me regrese la informacion > > > > > de esta manera: "Cristian Oro Bronce Cobre" "Hugo Bronce Cobre" "Paco Cobre > > > > > Oro" > > > > > > > > > > Alguna Idea? > > > > > > > > > > 2008/1/11, Julio Cesar S?nchez Gonz?lez < > > > > > knowhow at sistemasyconectividad.com.mx>: > > > > > > > > > > > > Cristian Alberto Mejia Medina wrote: > > > > > > > Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' > > > > > > donde en > > > > > > > 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian > > > > > > > tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde > > > > > > tengo > > > > > > > tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). > > > > > > Como > > > > > > > podria obtener un select de la forma : "Cristian Oro Bronce > > > > > > Cobre" ????? > > > > > > > > > > > > > > -- > > > > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > > > > > > > Have a nice day :o) > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Usuarios mailing list > > > > > > > Usuarios at mysql-hispano.org > > > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuario > > > > > > > > > > > > > > > > > > Con un join y concatenando los campos que quieres que formen la > > > > > > cadena de texto. > > > > > > > > > > > > > > > > > > -- > > > > > > Saludos, > > > > > > > > > > > > Julio Cesar S?nchez Gonz?lez. > > > > > > > > > > > > -- > > > > > > Ahora me he convertido en la muerte, destructora de mundos. > > > > > > Soy la Muerte que se lleva todo, la fuente de las cosas que > > > > > > vendran. > > > > > > > > > > > > www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/ > > > > > > > > > > > > _______________________________________________ > > > > > > Usuarios mailing list > > > > > > Usuarios at mysql-hispano.org > > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > > > Have a nice day :o) > > > > > > > > > > ------------------------------ > > > > > > > > > > _______________________________________________ > > > > > Usuarios mailing list > > > > > > > > > > > > > > > > > > > > > > > > > Usuarios at mysql-hispano.org > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > > > > > > > > > sql: > > > > > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE > > > > > u.usuario_id = uc.usuario_id AND c.cosas_id = uc.cosas_id > > > > > > > > > > > > > > > -- > > > > > -- Estructura de tabla para la tabla `cosas` > > > > > -- > > > > > > > > > > CREATE TABLE IF NOT EXISTS `cosas` ( > > > > > `cosas_id` int(11) NOT NULL auto_increment, > > > > > `cosas_caracteristica` varchar(30) NOT NULL, > > > > > PRIMARY KEY (`cosas_id`) > > > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > > > > > > > > > -- > > > > > -- Volcar la base de datos para la tabla `cosas` > > > > > -- > > > > > > > > > > INSERT INTO `cosas` (`cosas_id`, `cosas_caracteristica`) VALUES > > > > > (1, 'Oro'), > > > > > (2, 'Bronce'), > > > > > (3, 'Cobre'); > > > > > > > > > > -- -------------------------------------------------------- > > > > > > > > > > -- > > > > > -- Estructura de tabla para la tabla `usuarios` > > > > > -- > > > > > > > > > > CREATE TABLE IF NOT EXISTS `usuarios` ( > > > > > `usuario_id` int(11) NOT NULL auto_increment, > > > > > `usuario_nombre` varchar(30) NOT NULL, > > > > > PRIMARY KEY (`usuario_id`) > > > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > > > > > > > > > -- > > > > > -- Volcar la base de datos para la tabla `usuarios` > > > > > -- > > > > > > > > > > INSERT INTO `usuarios` (`usuario_id`, `usuario_nombre`) VALUES > > > > > (1, 'cristian'), > > > > > (2, 'hugo'), > > > > > (3, 'paco'); > > > > > > > > > > -- -------------------------------------------------------- > > > > > > > > > > -- > > > > > -- Estructura de tabla para la tabla `usuario_cosas` > > > > > -- > > > > > > > > > > CREATE TABLE IF NOT EXISTS `usuario_cosas` ( > > > > > `usuario_id` int(11) NOT NULL, > > > > > `cosas_id` int(11) NOT NULL, > > > > > PRIMARY KEY (`usuario_id`,`cosas_id`) > > > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1; > > > > > > > > > > -- > > > > > -- Volcar la base de datos para la tabla `usuario_cosas` > > > > > -- > > > > > > > > > > INSERT INTO `usuario_cosas` (`usuario_id`, `cosas_id`) VALUES > > > > > (1, 1), > > > > > (1, 2), > > > > > (1, 3), > > > > > (2, 2), > > > > > (2, 3), > > > > > (3, 1), > > > > > (3, 3); > > > > > > > > > > > > > > > _______________________________________________ > > > > > Usuarios mailing list > > > > > Usuarios at mysql-hispano.org > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > > > > > > -- > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > Have a nice day :o) > > > > > > > > > > > > > > > > -- > > > TPI. Cristian Alberto Mejia Medina > > > > > > Have a nice day :o) > > > > > > ------------------------------ > > > > > > _______________________________________________ > > > Usuarios mailing list > > > > > > > > > Usuarios at mysql-hispano.org > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > 1. Una tabla que contenga 2 registros sigue siendo una tabla, ademas > > > es una tabla de relacion y sino me equivoco (porque nada es seguro en esta > > > vida) est? bien planteada. > > > 2. La tabla de relacion va a tener muchos registros como tengas > > > "relaciones" pero es mejor tener los ids juntos en una sola tabla que el db > > > engine te haga una tabla temporal en su memoria con todos los datos extras > > > que no utiliz?s si lo planteas como en el inicio de tu mail. > > > > > > Por otro lado veo que alguien escribi? otro sql, que a mi gusto es > > > bastante complicado > > > > > > Select concat_ws("",t1.nombre," ",(select GROUP_CONCAT(DISTINCT > > > t2.Caracteristica ORDER BY t2.Caracteristica SEPARATOR " ") from > > > Table2 t2 where t2.clave like '%t1.Caracteristica%') as NombreCompleto > > > from Table1 t1 > > > > > > vs > > > > > > > > > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE u.usuario_id= > > > uc.usuario_id AND c.cosas_id = uc.cosas_id > > > > > > ademas mi sql es sql ansi92 :), osea m?s compatible, sino me equivoco > > > mysql 4 no soporta GROUP_CONCAT > > > > > > _______________________________________________ > > > Usuarios mailing list > > > Usuarios at mysql-hispano.org > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > -- > > TPI. Cristian Alberto Mejia Medina > > > > Have a nice day :o) > > > > _______________________________________________ > > Usuarios mailing list > > Usuarios at mysql-hispano.org > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > -- > --. V?ctor Isabel Bueno .-- > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/0d699aad/attachment.html From fernandocns at consciencia.com.br Fri Jan 11 21:25:19 2008 From: fernandocns at consciencia.com.br (=?iso-8859-1?Q?Fernando_-_Consci=EAncia?=) Date: Fri, 11 Jan 2008 17:25:19 -0300 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: <87bd82e90801111043u59120487n4357c2252fcb3143@mail.gmail.com> References: <478741D9.1030206@sistemasyconectividad.com.mx><47879577.9010408@yahoo.com.ar> <87bd82e90801111043u59120487n4357c2252fcb3143@mail.gmail.com> Message-ID: <2941097F059347A2BAC5CF89F1FBB1AE@Fernando> Tiente esse: Select concat_ws("",t1.nombre," ",(select GROUP_CONCAT(DISTINCT t2.Caracteristica ORDER BY t2.Caracteristica SEPARATOR " ") from Table2 t2 where t2.clave like '%t1.Caracteristica%') as NombreCompleto from Table1 t1 ----- Original Message ----- From: Victor Isabel Bueno To: MySQL Hispano Sent: Friday, January 11, 2008 3:43 PM Subject: Re: [MySQL Hispano] Otra Consulta La soluci?n correcta ser?a tener 3 tablas. - una para el catalogo - una para los usuarios - una para las relaciones entre ambos. No te cuestiones nada m?s porque no hay otra forma mejor de hacerlo... El resto sinceramente opino que son malas soluciones. Un saludo. 2008/1/11, Fernando - Consci?ncia : Tiente esse: Select concat_ws("",t1.nombre ," ",(select GROUP_CONCAT(DISTINCT t2.Caracteristica ORDER BY t2.Caracteristica SEPARATOR " ") from Table2 t2 where t2.clave like '%t1.Caracteristica%') as NombreCompleto from Table1 t1 Segue: Table1 ID Nombre Caracteristica 1 Cristian ABC 2 Hugo BC 3 Paco CA Table2 Clave Caracteristica A Oro B Bronce C Cobre El Select que quiero lograr es uno que me regrese la informacion de esta manera: "Cristian Oro Bronce Cobre" "Hugo Bronce Cobre" "Paco Cobre Oro" Alguna Idea? 2008/1/11, Julio Cesar S?nchez Gonz?lez : Cristian Alberto Mejia Medina wrote: > Tengo una tabla 'usuarios' con las columnas 'nombre' y 'tipo' donde en > 'tipo' guardo letras en base a un catalogo ej: nombre:Cristian > tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' donde tengo > tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). Como > podria obtener un select de la forma : "Cristian Oro Bronce Cobre" ????? > > -- > TPI. Cristian Alberto Mejia Medina > > Have a nice day :o) > ------------------------------------------------------------------------ > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuario Con un join y concatenando los campos que quieres que formen la cadena de texto. -- Saludos, Julio Cesar S?nchez Gonz?lez. -- Ahora me he convertido en la muerte, destructora de mundos. Soy la Muerte que se lleva todo, la fuente de las cosas que vendran. www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/ _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) ----------------------------------------------------------------------------_______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.orghttp://lists.mysql-hispano.org/mailman/listinfo/usuarios sql: SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE u.usuario_id = uc.usuario_id AND c.cosas_id = uc.cosas_id -- -- Estructura de tabla para la tabla `cosas` -- CREATE TABLE IF NOT EXISTS `cosas` ( `cosas_id` int(11) NOT NULL auto_increment, `cosas_caracteristica` varchar(30) NOT NULL, PRIMARY KEY (`cosas_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; -- -- Volcar la base de datos para la tabla `cosas` -- INSERT INTO `cosas` (`cosas_id`, `cosas_caracteristica`) VALUES (1, 'Oro'), (2, 'Bronce'), (3, 'Cobre'); -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `usuarios` -- CREATE TABLE IF NOT EXISTS `usuarios` ( `usuario_id` int(11) NOT NULL auto_increment, `usuario_nombre` varchar(30) NOT NULL, PRIMARY KEY (`usuario_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; -- -- Volcar la base de datos para la tabla `usuarios` -- INSERT INTO `usuarios` (`usuario_id`, `usuario_nombre`) VALUES (1, 'cristian'), (2, 'hugo'), (3, 'paco'); -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `usuario_cosas` -- CREATE TABLE IF NOT EXISTS `usuario_cosas` ( `usuario_id` int(11) NOT NULL, `cosas_id` int(11) NOT NULL, PRIMARY KEY (`usuario_id`,`cosas_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- -- Volcar la base de datos para la tabla `usuario_cosas` -- INSERT INTO `usuario_cosas` (`usuario_id`, `cosas_id`) VALUES (1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 1), (3, 3); _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) ---------------------------------------------------------------------------- _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios -- --. V?ctor Isabel Bueno .-- ------------------------------------------------------------------------------ _______________________________________________ Usuarios mailing list Usuarios at mysql-hispano.org http://lists.mysql-hispano.org/mailman/listinfo/usuarios -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/98aee68b/attachment.html From vicisbue at gmail.com Fri Jan 11 20:31:40 2008 From: vicisbue at gmail.com (Victor Isabel Bueno) Date: Fri, 11 Jan 2008 20:31:40 +0100 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: References: <478741D9.1030206@sistemasyconectividad.com.mx> <47879577.9010408@yahoo.com.ar> <4787B8BD.1000607@yahoo.com.ar> <87bd82e90801111059s1b5f8f97t55910ebf457aea34@mail.gmail.com> Message-ID: <87bd82e90801111131s66bf811dxbd3730a268c4c1a9@mail.gmail.com> Eso que dices no se consideran muchos datos para nada para una base de datos... y ojo que ya no digo un motor potente base de datos. Eso no son muchos datos ni para la base de datos m?s floja de sobremesa que pueda existir. Si yo fuese t? es que ni me lo planteaba. 3 tablas y todo queda perfectamente almacenado de la mejor forma posible. Espero haberte servido de ayuda. Un saludo. El d?a 11/01/08, Cristian Alberto Mejia Medina escribi?: > > En la estimacion que hice eran hasta 300 cosas por usuario, y considere > como 15 usuarios inicialmente,,,, y en vista de no haber encontrado ninguna > otra solucion creo que tendre que hacer eso,,, o una doble consulta,,, > > > El d?a 11/01/08, Victor Isabel Bueno escribi?: > > > > Por que temes tanto el numero de registros? Las bases de datos est?n > > hechas para eso,,, para almacenar registros. Si te sirve de algo yo he visto > > aplicaciones funcionar perfectamente con mas de 60 tablas y varias de ellas > > con un mill?n de registros tanto en access como en mysql... y creeme si > > access puede tener un tabla con un millon de registros seguro que mysql > > puede soportar much?simo mas. Tantos registros vas a tener? > > > > El d?a 11/01/08, Cristian Alberto Mejia Medina > > escribi?: > > > > > > De Hecho no he podido aplicar el query de Fernando,,, pero creo que es > > > una buena solucion,,, Tiener razon sobre la tabla de relaci?n, me gustaria > > > normalizar esos registros, pero como te comento aun temo la cantidad de > > > registros que habra en la tabla de relaciones, en mis estimaciones he notado > > > que la Base de Datos creceria demaciado,, tambien estamos analizando si > > > podemos cambiar la forma en que tratamos la informacion, pero todo parece > > > apuntar a que tendremos que hacer dos consultas, cosa que aun quiero > > > solucionar... > > > > > > El d?a 11/01/08, "Sebasti?n V. W?rtz" < dumbomalo at yahoo.com.ar> > > > escribi?: > > > > > > > > Cristian Alberto Mejia Medina escribi?: > > > > > > > > Haciendo un analisis sobre normalizar la tabla llegue a la > > > > conclusi?n de que en la tabla de relaciones tendria como maximo de > > > > registros: > > > > (USUARIOS pot COSAS) esperando tener un catalogo de 300 cosas,,, lo > > > > que haria que en la tabla de relaciones tendr?a muchos registros, entiendo > > > > que esto no seria gran problema para el motor de la BD sin embargo si para > > > > la comprension de la BD. > > > > > > > > El d?a 11/01/08, Cristian Alberto Mejia Medina > > > > escribi?: > > > > > > > > > > MMmmmMMM Thinking,,,,,,,,, > > > > > > > > > > Implica tener una tabla de relaciones ???no??? > > > > > > > > > > Still Thinkinh > > > > > > > > > > El d?a 11/01/08, "Sebasti?n V. W?rtz" < dumbomalo at yahoo.com.ar> > > > > > escribi?: > > > > > > > > > > > > Cristian Alberto Mejia Medina escribi?: > > > > > > > > > > > > Hola, ya me avente el texto sobre normalizacion de > > > > > > mysql-hispano, y podria decir que mis tablas estan normalizadas al segundo > > > > > > nivel, aunque un tengo que normalizar dos tablas pero sigo teniendo el mismo > > > > > > problema,,,, > > > > > > Sobre el uso de join que comenta Julio no se si seria suceptible > > > > > > al orden de la cadena,,, ya que en mi ejemplo anterior (Mejor ilustrado): > > > > > > > > > > > > ID > > > > > > > > > > > > Nombre > > > > > > > > > > > > Caracteristica > > > > > > > > > > > > 1 > > > > > > > > > > > > Cristian > > > > > > > > > > > > ABC > > > > > > > > > > > > 2 > > > > > > > > > > > > Hugo > > > > > > > > > > > > BC > > > > > > > > > > > > 3 > > > > > > > > > > > > Paco > > > > > > > > > > > > CA > > > > > > > > > > > > > > > > > > > > > > > > Clave > > > > > > > > > > > > Caracteristica > > > > > > > > > > > > A > > > > > > > > > > > > Oro > > > > > > > > > > > > B > > > > > > > > > > > > Bronce > > > > > > > > > > > > C > > > > > > > > > > > > Cobre > > > > > > > > > > > > El Select que quiero lograr es uno que me regrese la informacion > > > > > > de esta manera: "Cristian Oro Bronce Cobre" "Hugo Bronce Cobre" "Paco Cobre > > > > > > Oro" > > > > > > > > > > > > Alguna Idea? > > > > > > > > > > > > 2008/1/11, Julio Cesar S?nchez Gonz?lez < > > > > > > knowhow at sistemasyconectividad.com.mx>: > > > > > > > > > > > > > > Cristian Alberto Mejia Medina wrote: > > > > > > > > Tengo una tabla 'usuarios' con las columnas 'nombre' y > > > > > > > 'tipo' donde en > > > > > > > > 'tipo' guardo letras en base a un catalogo ej: > > > > > > > nombre:Cristian > > > > > > > > tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' > > > > > > > donde tengo > > > > > > > > tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', 'B'). > > > > > > > Como > > > > > > > > podria obtener un select de la forma : "Cristian Oro Bronce > > > > > > > Cobre" ????? > > > > > > > > > > > > > > > > -- > > > > > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > > > > > > > > > Have a nice day :o) > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > Usuarios mailing list > > > > > > > > Usuarios at mysql-hispano.org > > > > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuario > > > > > > > > > > > > > > > > > > > > > Con un join y concatenando los campos que quieres que formen > > > > > > > la cadena de texto. > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Saludos, > > > > > > > > > > > > > > Julio Cesar S?nchez Gonz?lez. > > > > > > > > > > > > > > -- > > > > > > > Ahora me he convertido en la muerte, destructora de mundos. > > > > > > > Soy la Muerte que se lleva todo, la fuente de las cosas que > > > > > > > vendran. > > > > > > > > > > > > > > www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/ > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Usuarios mailing list > > > > > > > Usuarios at mysql-hispano.org > > > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > > > > > Have a nice day :o) > > > > > > > > > > > > ------------------------------ > > > > > > > > > > > > _______________________________________________ > > > > > > Usuarios mailing list > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Usuarios at mysql-hispano.org > > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sql: > > > > > > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE > > > > > > u.usuario_id = uc.usuario_id AND c.cosas_id = uc.cosas_id > > > > > > > > > > > > > > > > > > -- > > > > > > -- Estructura de tabla para la tabla `cosas` > > > > > > -- > > > > > > > > > > > > CREATE TABLE IF NOT EXISTS `cosas` ( > > > > > > `cosas_id` int(11) NOT NULL auto_increment, > > > > > > `cosas_caracteristica` varchar(30) NOT NULL, > > > > > > PRIMARY KEY (`cosas_id`) > > > > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > > > > > > > > > > > -- > > > > > > -- Volcar la base de datos para la tabla `cosas` > > > > > > -- > > > > > > > > > > > > INSERT INTO `cosas` (`cosas_id`, `cosas_caracteristica`) VALUES > > > > > > (1, 'Oro'), > > > > > > (2, 'Bronce'), > > > > > > (3, 'Cobre'); > > > > > > > > > > > > -- -------------------------------------------------------- > > > > > > > > > > > > -- > > > > > > -- Estructura de tabla para la tabla `usuarios` > > > > > > -- > > > > > > > > > > > > CREATE TABLE IF NOT EXISTS `usuarios` ( > > > > > > `usuario_id` int(11) NOT NULL auto_increment, > > > > > > `usuario_nombre` varchar(30) NOT NULL, > > > > > > PRIMARY KEY (`usuario_id`) > > > > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > > > > > > > > > > > -- > > > > > > -- Volcar la base de datos para la tabla `usuarios` > > > > > > -- > > > > > > > > > > > > INSERT INTO `usuarios` (`usuario_id`, `usuario_nombre`) VALUES > > > > > > (1, 'cristian'), > > > > > > (2, 'hugo'), > > > > > > (3, 'paco'); > > > > > > > > > > > > -- -------------------------------------------------------- > > > > > > > > > > > > -- > > > > > > -- Estructura de tabla para la tabla `usuario_cosas` > > > > > > -- > > > > > > > > > > > > CREATE TABLE IF NOT EXISTS `usuario_cosas` ( > > > > > > `usuario_id` int(11) NOT NULL, > > > > > > `cosas_id` int(11) NOT NULL, > > > > > > PRIMARY KEY (`usuario_id`,`cosas_id`) > > > > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1; > > > > > > > > > > > > -- > > > > > > -- Volcar la base de datos para la tabla `usuario_cosas` > > > > > > -- > > > > > > > > > > > > INSERT INTO `usuario_cosas` (`usuario_id`, `cosas_id`) VALUES > > > > > > (1, 1), > > > > > > (1, 2), > > > > > > (1, 3), > > > > > > (2, 2), > > > > > > (2, 3), > > > > > > (3, 1), > > > > > > (3, 3); > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > Usuarios mailing list > > > > > > Usuarios at mysql-hispano.org > > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > > > Have a nice day :o) > > > > > > > > > > > > > > > > > > > > > -- > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > Have a nice day :o) > > > > > > > > ------------------------------ > > > > > > > > _______________________________________________ > > > > Usuarios mailing list > > > > > > > > > > > > Usuarios at mysql-hispano.org > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > 1. Una tabla que contenga 2 registros sigue siendo una tabla, > > > > ademas es una tabla de relacion y sino me equivoco (porque nada es seguro en > > > > esta vida) est? bien planteada. > > > > 2. La tabla de relacion va a tener muchos registros como tengas > > > > "relaciones" pero es mejor tener los ids juntos en una sola tabla que el db > > > > engine te haga una tabla temporal en su memoria con todos los datos extras > > > > que no utiliz?s si lo planteas como en el inicio de tu mail. > > > > > > > > Por otro lado veo que alguien escribi? otro sql, que a mi gusto es > > > > bastante complicado > > > > > > > > Select concat_ws("",t1.nombre," ",(select GROUP_CONCAT(DISTINCT > > > > t2.Caracteristica ORDER BY t2.Caracteristica SEPARATOR " ") from > > > > Table2 t2 where t2.clave like '%t1.Caracteristica%') as > > > > NombreCompleto from Table1 t1 > > > > > > > > vs > > > > > > > > > > > > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE > > > > u.usuario_id = uc.usuario_id AND c.cosas_id = uc.cosas_id > > > > > > > > ademas mi sql es sql ansi92 :), osea m?s compatible, sino me > > > > equivoco mysql 4 no soporta GROUP_CONCAT > > > > > > > > _______________________________________________ > > > > Usuarios mailing list > > > > Usuarios at mysql-hispano.org > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > -- > > > TPI. Cristian Alberto Mejia Medina > > > > > > Have a nice day :o) > > > > > > _______________________________________________ > > > Usuarios mailing list > > > Usuarios at mysql-hispano.org > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > -- > > --. V?ctor Isabel Bueno .-- > > _______________________________________________ > > Usuarios mailing list > > Usuarios at mysql-hispano.org > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > -- > TPI. Cristian Alberto Mejia Medina > > Have a nice day :o) > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > -- --. V?ctor Isabel Bueno .-- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/97d10d92/attachment.html From cristian.mejia at gmail.com Fri Jan 11 20:36:34 2008 From: cristian.mejia at gmail.com (Cristian Alberto Mejia Medina) Date: Fri, 11 Jan 2008 13:36:34 -0600 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: <87bd82e90801111131s66bf811dxbd3730a268c4c1a9@mail.gmail.com> References: <47879577.9010408@yahoo.com.ar> <4787B8BD.1000607@yahoo.com.ar> <87bd82e90801111059s1b5f8f97t55910ebf457aea34@mail.gmail.com> <87bd82e90801111131s66bf811dxbd3730a268c4c1a9@mail.gmail.com> Message-ID: Mi problema surje con que el ejemplo que use es demaciado simple,, para querer encontrar una solucion especifica en realidad no tengo un solo catalogo, son mas de 30 catalogos, con hasta 20 elementos cada uno, y aun no he encontrado la forma para poder "normalizarla",,,, El d?a 11/01/08, Victor Isabel Bueno escribi?: > > Eso que dices no se consideran muchos datos para nada para una base de > datos... y ojo que ya no digo un motor potente base de datos. Eso no son > muchos datos ni para la base de datos m?s floja de sobremesa que pueda > existir. > > Si yo fuese t? es que ni me lo planteaba. 3 tablas y todo queda > perfectamente almacenado de la mejor forma posible. > > Espero haberte servido de ayuda. > > Un saludo. > > El d?a 11/01/08, Cristian Alberto Mejia Medina > escribi?: > > > > En la estimacion que hice eran hasta 300 cosas por usuario, y considere > > como 15 usuarios inicialmente,,,, y en vista de no haber encontrado ninguna > > otra solucion creo que tendre que hacer eso,,, o una doble consulta,,, > > > > > > El d?a 11/01/08, Victor Isabel Bueno escribi?: > > > > > > Por que temes tanto el numero de registros? Las bases de datos est?n > > > hechas para eso,,, para almacenar registros. Si te sirve de algo yo he visto > > > aplicaciones funcionar perfectamente con mas de 60 tablas y varias de ellas > > > con un mill?n de registros tanto en access como en mysql... y creeme si > > > access puede tener un tabla con un millon de registros seguro que mysql > > > puede soportar much?simo mas. Tantos registros vas a tener? > > > > > > El d?a 11/01/08, Cristian Alberto Mejia Medina > > > escribi?: > > > > > > > > De Hecho no he podido aplicar el query de Fernando,,, pero creo que > > > > es una buena solucion,,, Tiener razon sobre la tabla de relaci?n, me > > > > gustaria normalizar esos registros, pero como te comento aun temo la > > > > cantidad de registros que habra en la tabla de relaciones, en mis > > > > estimaciones he notado que la Base de Datos creceria demaciado,, tambien > > > > estamos analizando si podemos cambiar la forma en que tratamos la > > > > informacion, pero todo parece apuntar a que tendremos que hacer dos > > > > consultas, cosa que aun quiero solucionar... > > > > > > > > El d?a 11/01/08, "Sebasti?n V. W?rtz" < dumbomalo at yahoo.com.ar> > > > > escribi?: > > > > > > > > > > Cristian Alberto Mejia Medina escribi?: > > > > > > > > > > Haciendo un analisis sobre normalizar la tabla llegue a la > > > > > conclusi?n de que en la tabla de relaciones tendria como maximo de > > > > > registros: > > > > > (USUARIOS pot COSAS) esperando tener un catalogo de 300 cosas,,, > > > > > lo que haria que en la tabla de relaciones tendr?a muchos registros, > > > > > entiendo que esto no seria gran problema para el motor de la BD sin embargo > > > > > si para la comprension de la BD. > > > > > > > > > > El d?a 11/01/08, Cristian Alberto Mejia Medina > > > > > escribi?: > > > > > > > > > > > > MMmmmMMM Thinking,,,,,,,,, > > > > > > > > > > > > Implica tener una tabla de relaciones ???no??? > > > > > > > > > > > > Still Thinkinh > > > > > > > > > > > > El d?a 11/01/08, "Sebasti?n V. W?rtz" < dumbomalo at yahoo.com.ar> > > > > > > escribi?: > > > > > > > > > > > > > > Cristian Alberto Mejia Medina escribi?: > > > > > > > > > > > > > > Hola, ya me avente el texto sobre normalizacion de > > > > > > > mysql-hispano, y podria decir que mis tablas estan normalizadas al segundo > > > > > > > nivel, aunque un tengo que normalizar dos tablas pero sigo teniendo el mismo > > > > > > > problema,,,, > > > > > > > Sobre el uso de join que comenta Julio no se si seria > > > > > > > suceptible al orden de la cadena,,, ya que en mi ejemplo anterior (Mejor > > > > > > > ilustrado): > > > > > > > > > > > > > > ID > > > > > > > > > > > > > > Nombre > > > > > > > > > > > > > > Caracteristica > > > > > > > > > > > > > > 1 > > > > > > > > > > > > > > Cristian > > > > > > > > > > > > > > ABC > > > > > > > > > > > > > > 2 > > > > > > > > > > > > > > Hugo > > > > > > > > > > > > > > BC > > > > > > > > > > > > > > 3 > > > > > > > > > > > > > > Paco > > > > > > > > > > > > > > CA > > > > > > > > > > > > > > > > > > > > > > > > > > > > Clave > > > > > > > > > > > > > > Caracteristica > > > > > > > > > > > > > > A > > > > > > > > > > > > > > Oro > > > > > > > > > > > > > > B > > > > > > > > > > > > > > Bronce > > > > > > > > > > > > > > C > > > > > > > > > > > > > > Cobre > > > > > > > > > > > > > > El Select que quiero lograr es uno que me regrese la > > > > > > > informacion de esta manera: "Cristian Oro Bronce Cobre" "Hugo Bronce Cobre" > > > > > > > "Paco Cobre Oro" > > > > > > > > > > > > > > Alguna Idea? > > > > > > > > > > > > > > 2008/1/11, Julio Cesar S?nchez Gonz?lez < > > > > > > > knowhow at sistemasyconectividad.com.mx>: > > > > > > > > > > > > > > > > Cristian Alberto Mejia Medina wrote: > > > > > > > > > Tengo una tabla 'usuarios' con las columnas 'nombre' y > > > > > > > > 'tipo' donde en > > > > > > > > > 'tipo' guardo letras en base a un catalogo ej: > > > > > > > > nombre:Cristian > > > > > > > > > tipo:ABC. Y otra tabla con el catalogo: 'desc' y 'valor' > > > > > > > > donde tengo > > > > > > > > > tres registros: ('Oro', 'A'),('Cobre', 'C'),('Bronce', > > > > > > > > 'B'). Como > > > > > > > > > podria obtener un select de la forma : "Cristian Oro > > > > > > > > Bronce Cobre" ????? > > > > > > > > > > > > > > > > > > -- > > > > > > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > > > > > > > > > > > Have a nice day :o) > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > Usuarios mailing list > > > > > > > > > Usuarios at mysql-hispano.org > > > > > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuario > > > > > > > > > > > > > > > > > > > > > > > > Con un join y concatenando los campos que quieres que formen > > > > > > > > la cadena de texto. > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Saludos, > > > > > > > > > > > > > > > > Julio Cesar S?nchez Gonz?lez. > > > > > > > > > > > > > > > > -- > > > > > > > > Ahora me he convertido en la muerte, destructora de mundos. > > > > > > > > Soy la Muerte que se lleva todo, la fuente de las cosas que > > > > > > > > vendran. > > > > > > > > > > > > > > > > www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/ > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > Usuarios mailing list > > > > > > > > Usuarios at mysql-hispano.org > > > > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > > > > > > > Have a nice day :o) > > > > > > > > > > > > > > ------------------------------ > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Usuarios mailing list > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Usuarios at mysql-hispano.org > > > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sql: > > > > > > > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE > > > > > > > u.usuario_id = uc.usuario_id AND c.cosas_id = uc.cosas_id > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > -- Estructura de tabla para la tabla `cosas` > > > > > > > -- > > > > > > > > > > > > > > CREATE TABLE IF NOT EXISTS `cosas` ( > > > > > > > `cosas_id` int(11) NOT NULL auto_increment, > > > > > > > `cosas_caracteristica` varchar(30) NOT NULL, > > > > > > > PRIMARY KEY (`cosas_id`) > > > > > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > > > > > > > > > > > > > -- > > > > > > > -- Volcar la base de datos para la tabla `cosas` > > > > > > > -- > > > > > > > > > > > > > > INSERT INTO `cosas` (`cosas_id`, `cosas_caracteristica`) > > > > > > > VALUES > > > > > > > (1, 'Oro'), > > > > > > > (2, 'Bronce'), > > > > > > > (3, 'Cobre'); > > > > > > > > > > > > > > -- -------------------------------------------------------- > > > > > > > > > > > > > > -- > > > > > > > -- Estructura de tabla para la tabla `usuarios` > > > > > > > -- > > > > > > > > > > > > > > CREATE TABLE IF NOT EXISTS `usuarios` ( > > > > > > > `usuario_id` int(11) NOT NULL auto_increment, > > > > > > > `usuario_nombre` varchar(30) NOT NULL, > > > > > > > PRIMARY KEY (`usuario_id`) > > > > > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; > > > > > > > > > > > > > > -- > > > > > > > -- Volcar la base de datos para la tabla `usuarios` > > > > > > > -- > > > > > > > > > > > > > > INSERT INTO `usuarios` (`usuario_id`, `usuario_nombre`) VALUES > > > > > > > (1, 'cristian'), > > > > > > > (2, 'hugo'), > > > > > > > (3, 'paco'); > > > > > > > > > > > > > > -- -------------------------------------------------------- > > > > > > > > > > > > > > -- > > > > > > > -- Estructura de tabla para la tabla `usuario_cosas` > > > > > > > -- > > > > > > > > > > > > > > CREATE TABLE IF NOT EXISTS `usuario_cosas` ( > > > > > > > `usuario_id` int(11) NOT NULL, > > > > > > > `cosas_id` int(11) NOT NULL, > > > > > > > PRIMARY KEY (`usuario_id`,`cosas_id`) > > > > > > > ) ENGINE=MyISAM DEFAULT CHARSET=latin1; > > > > > > > > > > > > > > -- > > > > > > > -- Volcar la base de datos para la tabla `usuario_cosas` > > > > > > > -- > > > > > > > > > > > > > > INSERT INTO `usuario_cosas` (`usuario_id`, `cosas_id`) VALUES > > > > > > > (1, 1), > > > > > > > (1, 2), > > > > > > > (1, 3), > > > > > > > (2, 2), > > > > > > > (2, 3), > > > > > > > (3, 1), > > > > > > > (3, 3); > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Usuarios mailing list > > > > > > > Usuarios at mysql-hispano.org > > > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > > > > > Have a nice day :o) > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > > > Have a nice day :o) > > > > > > > > > > ------------------------------ > > > > > > > > > > _______________________________________________ > > > > > Usuarios mailing list > > > > > > > > > > > > > > > > > > > > > > > > > Usuarios at mysql-hispano.org > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > > > > > > > > > 1. Una tabla que contenga 2 registros sigue siendo una tabla, > > > > > ademas es una tabla de relacion y sino me equivoco (porque nada es seguro en > > > > > esta vida) est? bien planteada. > > > > > 2. La tabla de relacion va a tener muchos registros como tengas > > > > > "relaciones" pero es mejor tener los ids juntos en una sola tabla que el db > > > > > engine te haga una tabla temporal en su memoria con todos los datos extras > > > > > que no utiliz?s si lo planteas como en el inicio de tu mail. > > > > > > > > > > Por otro lado veo que alguien escribi? otro sql, que a mi gusto es > > > > > bastante complicado > > > > > > > > > > Select concat_ws("",t1.nombre," ",(select GROUP_CONCAT(DISTINCT > > > > > t2.Caracteristica ORDER BY t2.Caracteristica SEPARATOR " ") from > > > > > Table2 t2 where t2.clave like '%t1.Caracteristica%') as > > > > > NombreCompleto from Table1 t1 > > > > > > > > > > vs > > > > > > > > > > > > > > > SELECT * FROM usuarios u, cosas c, usuario_cosas uc WHERE > > > > > u.usuario_id = uc.usuario_id AND c.cosas_id = uc.cosas_id > > > > > > > > > > ademas mi sql es sql ansi92 :), osea m?s compatible, sino me > > > > > equivoco mysql 4 no soporta GROUP_CONCAT > > > > > > > > > > _______________________________________________ > > > > > Usuarios mailing list > > > > > Usuarios at mysql-hispano.org > > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > > > > > > -- > > > > TPI. Cristian Alberto Mejia Medina > > > > > > > > Have a nice day :o) > > > > > > > > _______________________________________________ > > > > Usuarios mailing list > > > > Usuarios at mysql-hispano.org > > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > > > > > > -- > > > --. V?ctor Isabel Bueno .-- > > > _______________________________________________ > > > Usuarios mailing list > > > Usuarios at mysql-hispano.org > > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > > > > > > -- > > TPI. Cristian Alberto Mejia Medina > > > > Have a nice day :o) > > > > _______________________________________________ > > Usuarios mailing list > > Usuarios at mysql-hispano.org > > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > > > > > > -- > --. V?ctor Isabel Bueno .-- > > _______________________________________________ > Usuarios mailing list > Usuarios at mysql-hispano.org > http://lists.mysql-hispano.org/mailman/listinfo/usuarios > > -- TPI. Cristian Alberto Mejia Medina Have a nice day :o) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mysql-hispano.org/pipermail/usuarios/attachments/20080111/1c5abd83/attachment.html From vicisbue at gmail.com Fri Jan 11 20:43:07 2008 From: vicisbue at gmail.com (Victor Isabel Bueno) Date: Fri, 11 Jan 2008 20:43:07 +0100 Subject: [MySQL Hispano] Otra Consulta In-Reply-To: References: <47879577.9010408@yahoo.com.ar> <4787B8BD.1000607@yahoo.com.ar> <87bd82e90801111059s1b5f8f97t55910ebf457aea34@mail.gmail.com> <87bd82e90801111131s66bf811dxbd3730a268c4c1a9@mail.gmail.com> Message-ID: <87bd82e90801111143v2276c135sb0c92852b968dfe8@mail.gmail.com> La verdad es que no he seguido el hilo desde el principio pero vamos... asi sin pensarlo mucho veo las siguientes tablas: - catalogos - elementos de catalogo - relacion entre elementos de catalogo y catalogos. - usuarios - relacion entre usuarios y elementos de catalogo (habria una clave ajena existente o implicita desde esta tabla a la tabla de elementos de catalogo cuya clave primaria seria num catalogo y num elemento de catalogo) He supuesto que un usuario se relaciona con un catalogo mediante sus elementos de muchos a muchos. Si un usuario se relaciona directamente con los catalogos es mas simple que eso. El d?a 11/01/08, Cristian Alberto Mejia Medina escribi?: > > Mi problema surje con que el ejemplo que use es demaciado simple,, para > querer encontrar una solucion especifica en realidad no tengo un solo > catalogo, son mas de 30 catalogos, con hasta 20 elementos cada uno, y aun no > he encontrado la forma para poder "normalizarla",,,, > > El d?a 11/01/08, Victor Isabel Bueno escribi?: > > > > Eso que dices no se consideran muchos datos para nada para una base de > > datos... y ojo que ya no digo un motor potente base de datos. Eso no son > > muchos datos ni para la base de datos m?s floja de sobremesa que pueda > > existir. > > > > Si yo fuese t? es que ni me lo planteaba. 3 tablas y todo queda > > perfectamente almacenado de la mejor forma posible. > > > > Espero haberte servido de ayuda. > > > > Un saludo. > > > > El d?a 11/01/08, Cristian Alberto Mejia Medina > > escribi?: > > > > > > En la estimacion que hice eran hasta 300 cosas por usuario, y > > > considere como 15 usuarios inicialmente,,,, y en vista de no haber > > > encontrado ninguna otra solucion creo que tendre que hacer eso,,, o una > > > doble consulta,,, > > > > > > > > > El d?a 11/01/08, Victor Isabel Bueno escribi?: > > > > > > > > Por que temes tanto el numero de registros? Las bases de datos est?n > > > > hechas para eso,,, para almacenar registros. Si te sirve de algo yo he visto > > > > aplicaciones funcionar perfectamente con mas de 60 tablas y varias de ellas > > > > con un mill?n de registros tanto en access como en mysql... y creeme si > > > > access puede tener un tabla con un millon de registros seguro que mysql > > > > puede soportar much?simo mas. Tantos registros vas a tener? > > > > > > > > El d?a 11/01/08, Cristian Alberto Mejia Medina > > > > escribi?: > > > > > > > > > > De Hecho no he podido aplicar el query de Fernando,,, pero creo > > > > > que es una buena solucion,,, Tiener razon sobre la tabla de relaci?n, me > > > > > gustaria normalizar esos registros, pero como te comento aun temo la > > > > > cantidad de registros que habra en la tabla de relaciones, en mis > > > > > estimaciones he notado que la Base de Datos creceria demaciado,, tambien > > > > > estamos analizando si podemos cambiar la forma en que tratamos la > > > > > informacion, pero todo parece apuntar a que tendremos que hacer dos > > > > > consultas, cosa que aun quiero solucionar... > > > > > > > > > > El d?a 11/01/08, "Sebasti?n V. W?rtz" < dumbomalo at yahoo.com.ar> > > > > > escribi?: > > > > > > > > > > > > Cristian Alberto Mejia Medina escribi?: > > > > > > > > > > > > Haciendo un analisis sobre normalizar la tabla llegue a la > > > > > > conclusi?n de que en la tabla de relaciones tendria como maximo de > > > > > > registros: > > > > > > (USUARIOS pot COSAS) esperando tener un catalogo de 300 cosas,,, > > > > > > lo que haria que en la tabla de relaciones tendr?a muchos registros, > > > > > > entiendo que esto no seria gran problema para el motor de la BD sin embargo > > > > > > si para la comprension de la BD. > > > > > > > > > > > > El d?a 11/01/08, Cristian Alberto Mejia Medina > > > > > > escribi?: > > > > > > > > > > > > > > MMmmmMMM Thinking,,,,,,,,, > > > > > > > > > > > > > > Implica tener una tabla de relaciones ???no??? > > > > > > > > > > > > > > Still Thinkinh > > > > > > > > > > > > > > El d?a 11/01/08, "Sebasti?n V. W?rtz" < dumbomalo at yahoo.com.ar> > > > > > > > escribi?: > > > > > > > > > > > > > > > > Cristian Alberto Mejia Medina escribi?: > > > > > > > > > > > > > > > > Hola, ya me avente el texto sobre normalizacion de > > > > > > > > mysql-hispano, y podria decir que mis tablas estan normalizadas al segundo > > > > > > > > nivel, aunque un tengo que normalizar dos tablas pero sigo teniendo el mismo > > > > > > > > problema,,,, > > > > > > > > Sobre el uso de join que comenta Julio no se si seria > > > > > > > > suceptible al orden de la cadena,,, ya que en mi ejemplo anterior (Mejor > > > > > > > > ilustrado): > > > > > > > > > > > > > > > > ID > > > > > > > > > > > > > > > > Nombre > > > > > > > > > > > > > > > > Caracteristica > > > > > > > > > > > > > > > > 1 > > > > > > > > > > > > > > > > Cristian > > > > > > > > > > > > > > > > ABC > > > > > > > > > > > > > > > > 2 > > > > > > > > > > > > > > > > Hugo > > > > > > > > > > > > > > > > BC > > > > > > > > > > > > > > > > 3 > > > > > > > > > > > > > > > > Paco > > > > > > > > > > > > > > > > CA > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Clave > > > > > > > > > > > > > > > > Caracteristica > > > > > > > > > > > > > > > > A > > > > > > > > > > > > > > > > Oro > > > > > > > > > > > > > > > > B > > > > > > > > > > > > > > > > Bronce > > > > > > > > > > > > > > > > C > > > > > >