20 messages in com.mysql.lists.mysql-esRe: problema con consulta| From | Sent On | Attachments |
|---|---|---|
| Ray Garcia | 14 Mar 2006 00:50 | |
| Jesús Gómez | 14 Mar 2006 00:59 | |
| Ray Garcia | 14 Mar 2006 01:13 | |
| Ray Garcia | 14 Mar 2006 03:40 | |
| juan juan | 15 Mar 2006 00:49 | |
| Ray Garcia | 15 Mar 2006 03:07 | |
| juan juan | 15 Mar 2006 07:06 | |
| Ray Garcia | 15 Mar 2006 08:04 | |
| jgo...@net2u.es | 15 Mar 2006 08:28 | |
| Ray Garcia | 15 Mar 2006 08:48 | |
| Daniel Egea | 15 Mar 2006 09:03 | |
| Daniel Egea | 15 Mar 2006 09:04 | |
| Ray Garcia | 15 Mar 2006 09:30 | |
| Alvaro Cobo | 15 Mar 2006 11:27 | |
| Alvaro Cobo | 15 Mar 2006 11:42 | |
| Ray Garcia | 16 Mar 2006 02:53 | |
| Daniel Egea | 16 Mar 2006 03:54 | |
| Ray Garcia | 16 Mar 2006 04:15 | |
| Ing. Edwin Cruz | 16 Mar 2006 08:20 | |
| Ray Garcia | 17 Mar 2006 00:56 |
| Subject: | Re: problema con consulta![]() |
|---|---|
| From: | Ray Garcia (ray....@gmail.com) |
| Date: | 03/15/2006 03:07:22 AM |
| List: | com.mysql.lists.mysql-es |
Nada, si pongo solo where s.id_sectores=1 me salen todos los de 1, pero si añado algun campo mas (and s.id_sectores = 3 ) por ejemplo, la consulta me la devuelve vacia.
No se si el problema será mio que no lo estoy haciendo bien... pero muchas gracias, sigo intentandolo.
Saludos!
juan juan escribió:
Prueba con ésto y cuéntanos:
SELECT DISTINCT nombre FROM contacto c INNER JOIN sectores-contacto s ON c.id = s.id_contacto WHERE s.id_sectores = 1 AND s.id_sectores = 3 AND s.id_sectores = 5 AND s.id_sectores = 7
Si no usas la tabla sectores en la consulta, es mejor no ponerla. Tarda menos.
El DISTINCT lo que hace es devolver las filas distintas, es decir, las que se
repiten las devuelve una sola vez y no varias.
Saludos.
Ray Garcia <ray....@gmail.com> escribió: Hola de nuevo.
Antes tuve un problema con una consulta sql, y Jesús me echó una mano recomendandome el uso de IN.
Ahora se pq descarté en su momento el uso de IN.
Yo tengo una serie de secciones, digamos (1,3,5,7), pues esa sql me devuelve como resultado todos los que al menos tengan una de esas secciones. Es decir, si tengo un contacto que pertenece a la seccion 1,3 y 5, otro que tiene la 1,3,5,7 y otro que tiene la 3,5,7,8,9, todos estos contactos me saldrian, cuando a mi solo me interesa que salgan aquellos que solamente tienen exactamente esas secciones agregadas, o más, pero como minimo, todas las secciones que se incluyen en la orden IN.
Alguna idea sobre como hacerlo?
Gracias.
Ray Garcia escribió:
Vaya, ya habia probado asi, no salia como queria pero en un acto de inspiracion he agrupado por el id de usuario, y mas o menos sale lo que yo queria. De todas maneras ha de haber otra solucion para que salga sin tener que agrupar por ningun campo.
Muchas gracias Jesús.
Jesús Gómez escribió:
Prueba asi
select nombre from contacto,sectores_contacto where sectores_contacto.id_sectores in (1,3,5,7) and contactos.id=sectores_contactos.id_contacto
----- Original Message ----- From: "Ray Garcia" To: Sent: Tuesday, March 14, 2006 9:50 AM Subject: problema con consulta
Hola a todos. Ante todo saludaros pues este es el primer mensaje que escribo en esta lista.
Estoy desarrollando una aplicacion en php atacando a una bbdd mysql. El problema es que tengo una consulta que no consigo que salga tal cual yo quiero.
Tengo una tabla contacto, una tabla sectores y una tabla sectores -contacto que relaciona ambas tablas.
La tabla contacto tiene los campos: ID, NOMBRE, CARGO. La tabla Sectores tiene los campos: ID, NOMBRE La tabla sectores-contacto tiene los campos: ID_CONTACTO, ID_SECTORES
Cada contacto puede pertenecer a uno o varios sectores. Por lo que en la tabla sectores-contacto puede haber varias entradas con el mismo id_contacto.
El problema está al consultar. Quiero hacer una consulta tipo: "Seleccioname todos los usuarios que pertenezcan al sector 1, al 3, al 5 y al 7". Yo la intentaba asi:
Select NOMBRE from contacto, sectores-contacto, sectores where sectores-contacto.ID_CONTACTO = contacto.ID and sectores-contacto.ID_SECTORES = 1 AND sectores-contacto.ID_SECTORES = 3 AND sectores-contacto.ID_SECTORES = 5 AND sectores-contacto.ID_SECTORES = 7.
Como ya sabreis, esa consulta no es valida. Alguien daria con la tecla y me explicaria como podria hacerlo.
Saludos a todos los listeros.
Perdon, he enviado el mensaje con otra direccion de correo y no se si habrá llegado. Reenvio.
-- Lista de Correos de MySQL Para el historial de la lista: http://lists.mysql.com/mysql-es Para cancelar inscripción: http://lists.mysql.com/mysql-es?unsub=jgo...@net2u.es




