Ayuda con consulta
Hola estoy diseñando una aplicacion en .NET y tengo el siguiente problema con una consulta y no se como relizarla.
Les agradeceria que me ayuadaran.
La tabla:
OT EQ1 R1
OT EQ2 R0
OT EQ3 R0
OT2 EQ1 R1
OT2 EQ2 R1
OT2 EQ3 R1
Donde OT = orden de trabajo
EQ = equipo
R1 = realizada --> '1' : R0 = no realizada --> = '0'
Lo que quiero es mostrar las OT q estan realizadas. --> que para 'TODOS' sus equipos sea --> R1.
La consulta que he realizado es la siguiente:
SELECT a.ORDENTRABAJO,a.DESORDENTRABAJO,Count(a.EQUIPO) AS TotalEquipos
FROM WK_OTSAP_PUENTE a
WHERE a.REALIZADA='1'
GROUP BY a.ORDENTRABAJO,a.DESORDENTRABAJO
HAVING (Count(a.EQUIPO))=(SELECT Count(*) AS total FROM WK_OTSAP_PUENTE
WHERE ordentrabajo=a.ordentrabajo)
Esta consulta puesta en la BD directamente funciona correctamente.
LA consulta funciona pero el DATAGRID del programa no le gusta el HAVING
es curioso porque cuando quito el having si que muestra resultados pero no los correctos oviamente.
Se les ocurre alguna otra sentencia sql?
Se lo agradeceria muchisimo
Gracias
Les agradeceria que me ayuadaran.
La tabla:
OT EQ1 R1
OT EQ2 R0
OT EQ3 R0
OT2 EQ1 R1
OT2 EQ2 R1
OT2 EQ3 R1
Donde OT = orden de trabajo
EQ = equipo
R1 = realizada --> '1' : R0 = no realizada --> = '0'
Lo que quiero es mostrar las OT q estan realizadas. --> que para 'TODOS' sus equipos sea --> R1.
La consulta que he realizado es la siguiente:
SELECT a.ORDENTRABAJO,a.DESORDENTRABAJO,Count(a.EQUIPO) AS TotalEquipos
FROM WK_OTSAP_PUENTE a
WHERE a.REALIZADA='1'
GROUP BY a.ORDENTRABAJO,a.DESORDENTRABAJO
HAVING (Count(a.EQUIPO))=(SELECT Count(*) AS total FROM WK_OTSAP_PUENTE
WHERE ordentrabajo=a.ordentrabajo)
Esta consulta puesta en la BD directamente funciona correctamente.
LA consulta funciona pero el DATAGRID del programa no le gusta el HAVING
es curioso porque cuando quito el having si que muestra resultados pero no los correctos oviamente.
Se les ocurre alguna otra sentencia sql?
Se lo agradeceria muchisimo
Gracias
Intenta esto, no esta probado, pero al menos coges
cual es la idea. DeberÃas haber comentado que BD
estas atacando.
SELECT a.ORDENTRABAJO,a.DESORDENTRABAJO,Count(a.EQUIPO) AS TotalEquipos
FROM WK_OTSAP_PUENTE a
WHERE a.ORDENTRABAJO NOT IN
(
SELECT ORDENTRABAJO
FROM WK_OTSAP_PUENTE
WHERE REALIZADA = '0'
)
Saludos
cual es la idea. DeberÃas haber comentado que BD
estas atacando.
SELECT a.ORDENTRABAJO,a.DESORDENTRABAJO,Count(a.EQUIPO) AS TotalEquipos
FROM WK_OTSAP_PUENTE a
WHERE a.ORDENTRABAJO NOT IN
(
SELECT ORDENTRABAJO
FROM WK_OTSAP_PUENTE
WHERE REALIZADA = '0'
)
Saludos
