Ver Mensaje Individual
  #12 (permalink)  
Antiguo 07/07/2008, 02:29
seyko
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Encapsular consultas

Código:
select	m.muestraid, resto_campos, count(em.ensayo_muestraid) as ensayos, count(aa.ensayo_muestraid) as actas
from	muestras m
		left join ensayos_muestra em	ON m.muestraid = em.muestraid AND (estadoalbaran is null OR estadoalbaran = 0)
		left join actas_archivo aa		ON em.ensayo_muestraid = aa.ensayo_muestraid AND (acta_clases null OR acta_clase = 1)
group by m.muestraid, resto_campos [, em.ensayo_muestraid]
Con esta select, para cada muestra, tienes el numero de ensayos y actas que tienes agrupados por muestras, ya es facil sacar el listado que te interese.
Tienes la opción de añadir em.ensayo_muestraid al group by, para una agrupación por ensayos, si necesitas saber las actas de un ensayo en lugar de todos los ensayos de la misma muestra.

Con añadir un where como el que comentas para sacar todo o no, deberia de estar terminada.

A la espera