Ver Mensaje Individual
  #11 (permalink)  
Antiguo 18/01/2007, 22:31
dblanco
 
Fecha de Ingreso: enero-2004
Mensajes: 207
Antigüedad: 20 años, 3 meses
Puntos: 1
Re: query liadillo

por fiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiin

weno la cosa era como sospechaba yo desde un principio y apuntó luego seanchan con un UNION, pero el código que pasó daba el siguiente error:

"Every derived table must have its own alias"

el alias, se refería a cada tabla, pero resulta que para ponerle un alias hay que poner cada salect entre paréntesis () AS ... y el puñetero UNION da error haciendo eso.

He encontrado la solución por en la web de MySQL (mirando mucho) y es hacer un doble SELECT. Aparte para que sume los elementos de las 2 tablas el UNION ha de ser ALL. La cosa quedaría así:

Código:
select nombre,sum(nro) as veces FROM (SELECT * 
from (select t1.nombre,count(*) as nro
from t2,t1
where t1.cod=t2.cod
group by t1.nombre
) AS subtable1
union ALL
SELECT * FROM  (
select t1.nombre,count(*) as nro
from t3,t1
where t1.cod=t3.cod
group by t1.nombre)
AS subtable2 )
AS maintable group by nombre

gracias a todos amiguetes !!!