SQL Server - CONSULTAS COMPLEJAS DE SQL SERVER

 
Vista:

CONSULTAS COMPLEJAS DE SQL SERVER

Publicado por Jorge (1 intervención) el 14/12/2012 22:41:10
Estimados.

Tengo una pequeña consulta al momento de realizar un select complejo, me explico:

Se tiene por ejemplo la siguiente tabla de estados:
ID NOMBRE
A Activo
R Rechazada
P Proceso

Y tengo otra tabla por ejemplo que tiene:

ID NUMERO ESTADO
1 20607 R
2 20608 A
3 20608 A

La consulta que tengo que realizar me tiene que devolver lo siguiente:
NUMERO ESTADO TOTAL
20607 A 0
20607 R 1
20607 P 0
20608 A 2
20608 R 0
20608 P 0

Si alguien me puede ayudar con la consulta, se lo tendría enormemente agradecido, la consulta es en SQL SERVER 2008.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

CONSULTAS COMPLEJAS DE SQL SERVER

Publicado por Isaias (4558 intervenciones) el 17/12/2012 22:16:13
Con mucho gusto te ayudo, solo tengo la duda, ¿que avance llevas de tu consulta?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CONSULTAS COMPLEJAS DE SQL SERVER

Publicado por Pedro (1 intervención) el 08/01/2013 20:04:58
Amigo esta consulta quedaría de la siguiente manera:

select numero,estado, count(estado) total
from tabla2
group by numero

Checa y me parece que así debe de salir.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CONSULTAS COMPLEJAS DE SQL SERVER

Publicado por Quique (1 intervención) el 11/04/2014 14:44:25
Esta consulta debería funcionar.
Al menos en MySQL funciona, en otros SGBD puede haber que cambiar la función IF por otra que realice unha función similar: obtener NULL cuando t1.id sea distinto de t2.estado y cualquier cosa que no sea NULL en caso contrario

SELECT t2.numero, t1.id, count(IF(t1.id=t2.estado, 1, NULL))
FROM t1, t2
GROUP BY t2.numero, t1.id;

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CONSULTAS COMPLEJAS DE SQL SERVER

Publicado por pipo (1 intervención) el 26/02/2016 13:55:20
1
2
3
4
5
6
7
8
9
10
11
select  ISNULL(b.Numero,20608) , a.Id, count(b.Numero)
from @Tipo a
left outer join @Estado b on a.Id=b.Estado
and b.Numero=20608
group by b.Numero, a.Id
union
select  ISNULL(b.Numero,20607) , a.Id, count(b.Numero)
from @Tipo a
left outer join @Estado b on a.Id=b.Estado
and b.Numero=20607
group by b.Numero, a.Id


hay algo mejor???? les agradeceria mucho....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar