Sentencias anidadas

Lulis
30 de Marzo del 2006
Tengo una superduda en una consulta SELECT, os la cuento para
ver si alguien me puede ayudar:

Tengo una serie de registros de la forma...
1,N
2,N
1,V
2,N

Hago dos consultas, una que me calcula un count de todos mis
registros, que será 4

Y otra que me calcula el número de registros que tienen una N,
que será 3

Yo quiero que me saque un promedio solo si el número de N's obtenidas
es igual al numero total de registros obtenidos en la primera consulta.

Lo que necesito es una especie de anidamiento, que solo me ejecute la segunda
select si el count de la segunda es igual al count de la primera

De antemano Muuchas gracias

marcooq
30 de Marzo del 2006
Ok Luis aqui tengo te mando una sentencia que te podra ayudar a resolver tu duda.... tienes que ejecutar todo el bloque ok???

declare @a int, @b int
set @a = (select count(*) from caso01)
set @b = (select count(*) from caso01 where des = 'N')
if @a = @b
begin
select count(*) from caso01
where [desc] = 'N'
end
else
print 'No son iguales...!'

me avisas si te fue de ayuda ok???

LULIS
30 de Marzo del 2006
Muchas gracias por responder tan pronto, aunque mi intención no era hacerlo con procedimientos almacenados. Queria que una única SELECT me calculara todo. Al final lo he conseguido haciendo un UNION ALL un poco complicado.

Muchas gracias de todas formas.


LULIS
30 de Marzo del 2006
Muchas por responder tan pronto, pero es que mi intención no era usar un procedimiento almacenado. Quería que en una sola SELECT me saliera todo.

Al final lo he arreglado haciendo una sentencia con UNION ALL un poco complicada.

Muchas gracias de todas formas