Principales respuestas
Cómo seria una consulta SQL en LINQ

Pregunta
-
Hola;
Tengo esta 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
Y esta SELECT
select Id_Solicitud, Id_MS_Estado_Solicitud
from SOL_ESTADO_SOLICITUD t1
where Id_MS_Estado_Solicitud = 2
and not exists (select Id_Solicitud from SOL_ESTADO_SOLICITUD t2 where Id_MS_Estado_Solicitud = 1
and t1.Id_Solicitud = t2.Id_Solicitud)Con la se recupera 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
Los datos de esta tabla los tengo en un list (of la tabla, llamado listaSOL_ESTADO_SOLICITUD) y quiero hacer lo mismo que la SELECT pero con LINQ, algo así:
Dim solEnDatos = (From solicitud In listaSOL_ESTADO_SOLICITUD
Where ! (select solicitud.Id_MS_Estado_Solicitud = 1)
And solicitud.Id_MS_Estado_Solicitud = 2Pero esto, y algunas variaciones que he hecho me da error
¿Alguna sugerencia?
Gracias, un saludo.
Respuestas
-
Muchas gracias Leandro;
Si meto tu el LINQ que me has dicho en el código, el Select Group.Id_Solicitud , el id_solicitud no me lo reconoce, solo tiene sum, toarray, etc.Si hago
Dim solEnDatos = From solicitud In listaSOL_ESTADO_SOLICITUD _
Group solicitud By solicitud.Id_Solicitud, solicitud.Id_MS_Estado_Solicitud Into Group _
Where Group.Count < 2 _
And Id_MS_Estado_Solicitud = 2 _
Select Groupme recupera todos los registros que tiene id_ms_estado_solicitud=2, y lo que se tiene que recuperar son los registros que tienen id_ms_estado_solicitud=2, pero no tienen id_ms_estado_solicitud=1
Un saludo.
- Marcado como respuesta arrocal miércoles, 7 de agosto de 2013 15:37
-
y usar el
Dim solEnDatos = From solicitud In listaSOL_ESTADO_SOLICITUD _
Group solicitud By solicitud.Id_Solicitud, solicitud.Id_MS_Estado_Solicitud Into Group _
Where Group.Count < 2
Select Group.Key.Id_Solicitud, Group.Key.Id_MS_Estado_Solicitud
no necesitas usar el Id_MS_Estado_Solicitud = 2
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta arrocal miércoles, 7 de agosto de 2013 15:37
Todas las respuestas
-
y si usas el group by ? o sea si hay mas de dos registros para el mismo Id_Solicitud entonces lo descartas
Dim solEnDatos = From solicitud In listaSOL_ESTADO_SOLICITUD _ Group solicitud By solicitud.Id_Solicitud Into Group _ Where Group.Count < 2 _ Select Group.Id_Solicitud
Leandro Tuttini
Blog
Buenos Aires
Argentina- Editado Leandro TuttiniMVP sábado, 19 de enero de 2013 19:40
-
Muchas gracias Leandro;
Si meto tu el LINQ que me has dicho en el código, el Select Group.Id_Solicitud , el id_solicitud no me lo reconoce, solo tiene sum, toarray, etc.Si hago
Dim solEnDatos = From solicitud In listaSOL_ESTADO_SOLICITUD _
Group solicitud By solicitud.Id_Solicitud, solicitud.Id_MS_Estado_Solicitud Into Group _
Where Group.Count < 2 _
And Id_MS_Estado_Solicitud = 2 _
Select Groupme recupera todos los registros que tiene id_ms_estado_solicitud=2, y lo que se tiene que recuperar son los registros que tienen id_ms_estado_solicitud=2, pero no tienen id_ms_estado_solicitud=1
Un saludo.
- Marcado como respuesta arrocal miércoles, 7 de agosto de 2013 15:37
-
y usar el
Dim solEnDatos = From solicitud In listaSOL_ESTADO_SOLICITUD _
Group solicitud By solicitud.Id_Solicitud, solicitud.Id_MS_Estado_Solicitud Into Group _
Where Group.Count < 2
Select Group.Key.Id_Solicitud, Group.Key.Id_MS_Estado_Solicitud
no necesitas usar el Id_MS_Estado_Solicitud = 2
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta arrocal miércoles, 7 de agosto de 2013 15:37