SQL - NO FILTRA BIEN MIS DATOS

 
Vista:
sin imagen de perfil

NO FILTRA BIEN MIS DATOS

Publicado por Mario (3 intervenciones) el 30/01/2015 12:46:24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
SELECT A.FECHAMENOS1, A.HOLEID,A.SHIFT,
(SELECT VALUE FROM HOLEDETAILS WHERE HOLEID = A.HOLEID AND NAME = 'Nombre_Propuesto') AS PROPUESTO,
(SELECT VALUE FROM HOLEDETAILS WHERE HOLEID = A.HOLEID AND NAME = 'Campana') AS Campaña,
(SELECT TOP 1 CONTRACTCODE FROM DRILLINGDETAIL DD WHERE DD.HOLEID = A.HOLEID ) AS EMPRESA,
(SELECT TOP 1 VALUE FROM DRILLINGDETAIL DD
WHERE DD.HOLEID = A.HOLEID AND
DD.NAME = 'NumeroEquipo' )
AS MAQUINA,
MAx(CASE WHEN left(A.SHIFT,1) = 'A' THEN A.TURNO_A ELSE A.TURNO_B END) AS MTS,
-- HORAS_DEMORA
SUM(CASE WHEN
DETALLE = 'Colación' OR
DETALLE = 'Reunion Empresa de perforacion'
THEN TIEMPO
ELSE 0.0 END)
AS H_DEM,
-- HORAS_MANTENCION
SUM(CASE WHEN
DETALLE = 'Reparación de Equipo' OR
DETALLE = 'Espera de Combustible'
THEN TIEMPO
ELSE 0.0 END)
AS H_MANT
 
FROM
(
SELECT TT.SHIFT,TT.DRILLINGDATE,TT.Hora_Termino, cast(TT.DRILLINGDATE as DATE) AS DIA,TT.Detalle As DETALLE, TT.NumeroEquipo,TT.CONTRACTCODE,
(SELECT SUM(CAST(ProfFinal AS REAL)-CAST(ProfInicial AS REAL)) FROM DETALLE_PERFORA WHERE HOLEID = TT.HOLEID AND CAST(DRILLINGDATE AS DATE) = CAST(TT.DRILLINGDATE AS DATE) AND LEFT(SHIFT,1) = 'A' )AS TURNO_A,
(SELECT SUM(CAST(ProfFinal AS REAL)-CAST(ProfInicial AS REAL)) FROM DETALLE_PERFORA WHERE HOLEID = TT.HOLEID AND CAST(DRILLINGDATE AS DATE) = CAST(TT.DRILLINGDATE AS DATE) AND LEFT(SHIFT,1) = 'B' )AS TURNO_B,
(cast(DATEDIFF(SECOND,TT.DRILLINGDATE,TT.Hora_Termino)as real)/60/60) AS TIEMPO, TT.HOLEID, TT.SHIFT AS TURNO,
CASE WHEN CAST(DATEPART(HOUR,(TT.DRILLINGDATE)) AS INT) < 8 THEN CONVERT(CHAR(11),(CAST(TT.DRILLINGDATE AS DATETIME ) - 1), 105)
ELSE CONVERT(char(11), (cast(cast(MONTH(TT.DRILLINGDATE) as varchar) + '/' + cast(DAY(TT.DRILLINGDATE) as varchar)+ '/' + cast(YEAR(TT.DRILLINGDATE)as varchar) as datetime)),105) END as FECHAMENOS1,
convert(char(11),cast(TT.DRILLINGDATE as datetime),105) as DRILLINGDATE2
FROM DETALLE_PERFORA TT
WHERE TT.PROJECTCODE = 'SpenceDH' AND
TT.COSTCODE = 'Detalle_Perfora' AND
TT.NumeroEquipo = 'RC-018' AND
TT.DRILLINGDATE >= cast('01-Jun-2014 08:00:00' as datetime) AND
TT.DRILLINGDATE < cast('30-jun-2014 08:00:00' as datetime)
 
)A
GROUP BY NumeroEquipo, FECHAMENOS1,HOLEID, SHIFT
ORDER BY FECHAMENOS1, SHIFT


Hola a todos, este es mi primera consulta en el foro, les cuento que tengo el siguiente problemas y quizás alguno de acá con mas experiencia pueda ayudarme con mi problema
Adjunto el código y una imagen con resultados que este entrega, si se percatan le indico que solo me muestre cuando
TT.NumeroEquipo = 'RC-018' pero de igual forma me esta entregando valores de maquinas distintas
Si alguien puede ayudarme a encontrar el error se lo agradecería
ejemplo
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 Islas
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

NO FILTRA BIEN MIS DATOS

Publicado por Isaias Islas (1921 intervenciones) el 30/01/2015 18:09:45
Dime, esta consulta te da los resultados solo de la maquina que pretendes??

Que base de datos ocupas??

SELECT TT.SHIFT,TT.DRILLINGDATE,TT.Hora_Termino, cast(TT.DRILLINGDATE as DATE) AS DIA,TT.Detalle As DETALLE, TT.NumeroEquipo,TT.CONTRACTCODE,
(SELECT SUM(CAST(ProfFinal AS REAL)-CAST(ProfInicial AS REAL)) FROM DETALLE_PERFORA WHERE HOLEID = TT.HOLEID AND CAST(DRILLINGDATE AS DATE) = CAST(TT.DRILLINGDATE AS DATE) AND LEFT(SHIFT,1) = 'A' )AS TURNO_A,
(SELECT SUM(CAST(ProfFinal AS REAL)-CAST(ProfInicial AS REAL)) FROM DETALLE_PERFORA WHERE HOLEID = TT.HOLEID AND CAST(DRILLINGDATE AS DATE) = CAST(TT.DRILLINGDATE AS DATE) AND LEFT(SHIFT,1) = 'B' )AS TURNO_B,
(cast(DATEDIFF(SECOND,TT.DRILLINGDATE,TT.Hora_Termino)as real)/60/60) AS TIEMPO, TT.HOLEID, TT.SHIFT AS TURNO,
CASE WHEN CAST(DATEPART(HOUR,(TT.DRILLINGDATE)) AS INT) < 8 THEN CONVERT(CHAR(11),(CAST(TT.DRILLINGDATE AS DATETIME ) - 1), 105)
ELSE CONVERT(char(11), (cast(cast(MONTH(TT.DRILLINGDATE) as varchar) + '/' + cast(DAY(TT.DRILLINGDATE) as varchar)+ '/' + cast(YEAR(TT.DRILLINGDATE)as varchar) as datetime)),105) END as FECHAMENOS1,
convert(char(11),cast(TT.DRILLINGDATE as datetime),105) as DRILLINGDATE2
FROM DETALLE_PERFORA TT
WHERE TT.NumeroEquipo = 'RC-018' AND
TT.PROJECTCODE = 'SpenceDH' AND
TT.COSTCODE = 'Detalle_Perfora' AND
TT.DRILLINGDATE >= '20140601 08:00:00' AND --cast('01-Jun-2014 08:00:00' as datetime) AND
TT.DRILLINGDATE < '20140630 08:00:00' --cast('30-jun-2014 08:00:00' as datetime)
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
sin imagen de perfil

NO FILTRA BIEN MIS DATOS

Publicado por Mario (3 intervenciones) el 02/02/2015 13:21:57
Hola, si ... solo me muestra valores con esa maquina
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
sin imagen de perfil

NO FILTRA BIEN MIS DATOS

Publicado por Mario (3 intervenciones) el 02/02/2015 14:03:41
Lo que pasa es que un HoleID tiene 2 maquinas asociadas
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