Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consultar registros en dos direcciones...? ¡Socorro!

Estas en el tema de Consultar registros en dos direcciones...? ¡Socorro! en el foro de Mysql en Foros del Web. Hola a todos, Tengo un problema para realizar la siguiente consulta.... Necesitaria mostrar los registros que cumplan una condición tal que la siguiente: ---------------------------- id ...
  #1 (permalink)  
Antiguo 31/05/2010, 03:20
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Consultar registros en dos direcciones...? ¡Socorro!

Hola a todos,

Tengo un problema para realizar la siguiente consulta.... Necesitaria mostrar los registros que cumplan una condición tal que la siguiente:

----------------------------
id cam1 cam2
----------------------------
03 1 2
04 2 1
----------------------------

O sea, solo mostrar los registros que esten declarados tanto en el cam1 y en el cam2 y viceversa, vamos que cumplan ambas direcciones...

Pero no se si es por culpa del café o de la falta de sueño, pero no doy pie con bola y llevo ya una hora dandole vueltas al tema sin encontrar la forma de listarlos correctamente.

Gracias anticipadas!
__________________
Consultor SEO / WPO
[EXP] Fuego de Vida ->sitio web
  #2 (permalink)  
Antiguo 31/05/2010, 14:37
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consultar registros en dos direcciones...? ¡Socorro!

popobcn,
aunque no acabo de entenderlo bien del todo, si lo que quieres decir es que haya datos en los campos cam1 y cam2, pero no sé si sólo en esos (tampoco sé si hay más campos), o también en otros. Tampoco nos dices qué valor permites en esos campos cuando no se escribe, es null o permites texto en blanco, o se trata de 0 porque es valor numérico.
En realidad podrías encontrarlo con algo así
SELECT id, cam1, cam2 FROM tutabla WHERE (cam1 is not null AND cam1 != '' AND cam1 != 0) AND (cam2 is not null AND cam2 != '' AND cam2 != 0)

No lo he probado
Acláranos algo más
  #3 (permalink)  
Antiguo 01/06/2010, 10:12
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Respuesta: Consultar registros en dos direcciones...? ¡Socorro!

Hola! Antes de nada perdon por mi redacción... lo dicho, muchas horas sin dormir estos ultimos dias...

Lo que quiero conseguir en una única consulta es listar registros únicos en el siguiente escenario:

La tabla1 tiene 3 campos: id, nombre1, nombre2

Lo que deseo es listar solo aquellos registros que cumplan la siguiente condicion:

id, "Manolo", "Pedro" -> Si
id, "Pedro", "Manolo" -> Si
id, "Pedro", "Xxxxxx" -> No

O sea, que cuando exista un registro en ambas direcciones tanto para el nombre1 como para el nombre2 y viceversa. No se si ahora me explicado mejor... xD El problema, es que por cada registro de nombre1, podemos encontrar infinidad de valores... Lo que necesito es listar única y exclusivamente aquellos registros que tengan a "Pedro", por ejemplo; en nombre2 y a su vez que al mismo tiempo "Pedro" los tenga incluidos en "nombre2".

Gracias y saluidos
__________________
Consultor SEO / WPO
[EXP] Fuego de Vida ->sitio web
  #4 (permalink)  
Antiguo 01/06/2010, 13:38
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consultar registros en dos direcciones...? ¡Socorro!

A ver si lo he entendido:
SELECT t1.id, t1.nombre1, t1.nombre2 FROM `tutabla` t1 INNER JOIN tutabla t2 ON t1.nombre1 = t2.nombre2 AND t1.nombre2 = t2.nombre1

Esto para sacar todos los casos. Pero si quieres que el nombre aparezca en algún lugar

SELECT t1.id, t1.nombre1, t1.nombre2 FROM `tutabla` t1 INNER JOIN tutabla t2 ON t1.nombre1 = t2.nombre2 AND t1.nombre2 = t2.nombre1 WHERE t1.nombre1 = 'Pedro' OR t1.nombre2='Pedro'
  #5 (permalink)  
Antiguo 01/06/2010, 16:08
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Respuesta: Consultar registros en dos direcciones...? ¡Socorro!

Cita:
Iniciado por jurena Ver Mensaje
A ver si lo he entendido:
SELECT t1.id, t1.nombre1, t1.nombre2 FROM `tutabla` t1 INNER JOIN tutabla t2 ON t1.nombre1 = t2.nombre2 AND t1.nombre2 = t2.nombre1
WHERE t1.nombre1 = 'Manolo'
jurena... despues del inventor de la minifalda, acabas de convertirte en mi idolo!

Listos! Simplemente con agregar a tu primera consulta la condición de busqueda lo tengo todo listo y montado! Increible! Gracias! Me has quitado un peso de encima.

Saludos
__________________
Consultor SEO / WPO
[EXP] Fuego de Vida ->sitio web

Etiquetas: consultar, direcciones, dos, registros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:51.