4 messages in com.mysql.lists.mysql-esRE: seleccionar filas que tengan 2 co...| From | Sent On | Attachments |
|---|---|---|
| DTH666 | 21 Mar 2007 15:15 | |
| Grover Campos A. | 21 Mar 2007 15:50 | |
| Esteban Vega | 21 Mar 2007 16:08 | |
| Esteban Vega | 21 Mar 2007 16:16 |
| Subject: | RE: seleccionar filas que tengan 2 coincidencias en otra tabla![]() |
|---|---|
| From: | Esteban Vega (este...@2w.net) |
| Date: | 03/21/2007 04:08:02 PM |
| List: | com.mysql.lists.mysql-es |
Hola, si había tratado eso pero el problema es que eso solo selecciona la fila si (pxt.id_tipo = 1 AND pxt.id_tipo = 3) lo cual va a ser imposible ya que si es igual a 1 no es igual a 3,
Tabla 1 (p) | p.id | | 1 | | 2 | | 3 | | 4 |
Tabla 2 (pxt)
| pxt.id | p.id | pxt.id_tipo | | 1 | 1 | 2 | | 2 | 1 | 3 | | 3 | 2 | 3 | | 4 | 3 | 2 | | 5 | 4 | 3 |
Necesito que la consula me devuelva únicamente
| p.id | | 1 |
Pues p.id = 1 es el único que en la tabla pxt tiene conincidencia con 2 y con 3, mientras los demás solo tienen coincidencia con 2 o con 3 pero no con ambos al tiempo.
Gracias
-----Mensaje original----- De: Grover Campos A. [mailto:gcam...@ing.puc.cl] Enviado el: Miércoles, 21 de Marzo de 2007 05:51 p.m. Para: mysq...@lists.mysql.com Asunto: RE: seleccionar filas que tengan 2 coincidencias en otra tabla
Hola DTH666:
No utilices IN, utiliza AND, es decir:
(pxt.id_tipo = 1 AND pxt.id_tipo = 3)
IN quiere decir eso: ó 1 ó 3 AND es lo que necesitas.
Saludos
--------------------------------------------------------- Grover M. Campos Ancajima Ingeniero de Desarrollo DictUC - Pontificia Universidad Católica de Chile
-----Mensaje original----- De: DTH666 [mailto:dth...@gmail.com] Enviado el: Miércoles, 21 de Marzo de 2007 18:16 Para: mysq...@lists.mysql.com Asunto: seleccionar filas que tengan 2 coincidencias en otra tabla
Hola tengo una consulta que es la siguiente:
SELECT p.id, p.nombre as proyecto, p.id_rango_precio_desde, p.id_rango_precio_hasta, c.nombre as ciudad, ip.foto as foto_principal, ip.id_tipo as tipoFoto, pxt.id_tipo FROM `jos_proyectosi_proyectos` p
INNER JOIN `jos_proyectosi_fotos` ip on p.id = ip.id_proyecto && ip.id_tipo= 2 INNER JOIN `jos_ciudades` c on c.id = p.id_ciudad INNER JOIN `jos_proyectosi_proyectos_x_tipo` pxt on p.id = pxt.id_proyecto
WHERE 1 && pxt.id_tipo IN(1,3)
GROUP BY pxt.id_proyecto
LIMIT 0, 6;
Necesito que la consulta me devuelva únicamente las filas de `p` que en `pxt`.`id_tipo` tengan conicidencia con 1 Y con 3 pero esa consulta me devuelve si conicide con 1 Y/O 3,
Por fa una ayuda. Gracias
-- Lista de Correos de MySQL Para el historial de la lista: http://lists.mysql.com/mysql-es Para cancelar inscripcin: http://lists.mysql.com/mysql-es?unsub=este...@2w.net




