SQL - Consulta SQL

   
Vista:

Consulta SQL

Publicado por LU (2 intervenciones) el 18/01/2013 21:42:11
Buenas tardes;

Tengo la siguiente tabla:

Id_Estado_Solicitud Id_MS_Estado_Solicitud Id_Solicitud
13 '' 1 '' 1000
14 '' 2 '' 1000
15 '' 1 ' ' 1001
16 '' 2 '' 1001
17 '' 1 ' ' 1002
18 '' 2 '' 1002
19 '' 1 '' 1003
20 '' 1 ' ' 1004
21 '' 1 ' ' 1005
22 ' 2 '' 1006
23 '' 2 ' ' 1007
24 '' 2 '' 1008
25 '' 2 '' 1009
'
Hay id_solicitudes que tienen Id_MS_Estado_Solicitud=1, otras Id_MS_Estado_Solicitud=2 y otras

Id_MS_Estado_Solicitud=2 y Id_MS_Estado_Solicitud=1, estas tiene dos registros cada una.

Y quisiera recuperar los registros que tienen id_ms_estado_solicitud=2 pero no tienen Id_MS_Estado_Solicitud=1, es decir los id_solicitudes:
1006
1007
1008
1009

Gracias, un saludo.
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

Consulta SQL

Publicado por Isaias (690 intervenciones) el 18/01/2013 22:22:12
¿y que avance llevas de tu query?

Digo, algún esfuerzo debiste haber hecho.

CREATE TABLE PRUEBA (Id_Estado_Solicitud INT, Id_MS_Estado_Solicitud INT, Id_Solicitud INT)

INSERT INTO PRUEBA VALUES(13,1,1000)
INSERT INTO PRUEBA VALUES(14,2,1000)
INSERT INTO PRUEBA VALUES(15,1,1001)
INSERT INTO PRUEBA VALUES(16,2,1001)
INSERT INTO PRUEBA VALUES(17,1,1002)
INSERT INTO PRUEBA VALUES(18,2,1002)
INSERT INTO PRUEBA VALUES(19,1,1003)
INSERT INTO PRUEBA VALUES(20,1,1004)
INSERT INTO PRUEBA VALUES(21,1,1005)
INSERT INTO PRUEBA VALUES(22,2,1006)
INSERT INTO PRUEBA VALUES(23,2,1007)
INSERT INTO PRUEBA VALUES(24,2,1008)
INSERT INTO PRUEBA VALUES(25,2,1009)

select Id_Solicitud, Id_MS_Estado_Solicitud
from PRUEBA t1
where Id_MS_Estado_Solicitud = 2
and not exists (select Id_Solicitud from PRUEBA t2 where Id_MS_Estado_Solicitud = 1
and t1.Id_Solicitud = t2.Id_Solicitud)
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

Consulta SQL

Publicado por LU (2 intervenciones) el 19/01/2013 10:53:45
isaias;

Muchísimas gracias. El INSERT INTO no lo puse porque pensaba que se veria mejor en la tabla (no pensaba que quedaría tan desconfigurada). Y respecto a la SELECT estaba probando con algo del estilo esto:

SELECT Id_MS_Estado_Solicitud, Id_Solicitud
FROM SOL_ESTADO_SOLICITUD
WHERE Id_MS_Estado_Solicitud=2
AND Id_MS_Estado_Solicitud NOT IN (SELECT Id_MS_Estado_Solicitud FROM SOL_ESTADO_SOLICITUD WHERE Id_MS_Estado_Solicitud= 1 AND Id_MS_Estado_Solicitud=2)
ORDER BY Id_Solicitud

Pero cambiando NOT IN por IN, y los operadores = por <>, para ver los resultados. No me di cuenta del NOT EXIST.

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