Ver Mensaje Individual
  #19 (permalink)  
Antiguo 27/04/2008, 00:30
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Re: Unir 2 consultas

Si le ofreces una lista de 5 elementos de los que tienes datos y haces finalmente un group by por cada cónyuge se explica que te salgan 5.
Si agrupas, no te mostrará más que uno de cada uno que te sirva como criterio de agrupación.
Lo que no entiendo es por qué buscar los cónyuges de varios cónyuges a la vez. Si no muestras el primero, no se sabrá de quién es cónyuge el segundo.
Tal y como lo tienes, debes buscar uno a uno, y el número tras el != debe ser el mismo que el escrito tras m.idhombre = y tras m.idmujer =, para poder sacar los cónyuges de ese uno, y lo que tampoco entiendo es por qué no utilizas esta consulta que va bien siempre, aunque busca de uno en uno, eso sí:

SELECT IF (a1.id != 4, CONCAT(a1.nombre,' ', a1.apellidos), CONCAT(a2.nombre,' ',a2.apellidos)) as conyuge, IFNULL(m.fecha, 'no consta fecha') as fecha_matrimonio FROM matrimonios m, arbol a1, arbol a2 where a1. id=m.idhombre AND a2.id =m.idmujer AND (m.idhombre = 4 OR m.idmujer = 4) ORDER BY fecha

¿Qué problema te da esta consulta? ¿Qué más quieres sacar que no te saca esta consulta?
Te he añadido un ifnull para la fecha...

Última edición por jurena; 27/04/2008 a las 01:01