Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 02-12-2015
Malixnox Malixnox is offline
Miembro
NULL
 
Registrado: nov 2015
Posts: 15
Poder: 0
Malixnox Va por buen camino
Aja, sorry la tardanza, no solo ando de programador acá y recursos humanos ida y vuelva es media hora.

Visual Studios dice SQL Server 2012

La definición de la tabla es:

Código SQL [-]
TTYPE Varchar(2)
TTDTE Numeric(18,0)
TPROD Varchar (35)
THWRKC Numeric (28,0)
T1,T2 y T3 Numeric (38,6)

Explicación de cada una:

TTYPE es la que diferencia el tipo de producto definido por una o dos letras, I es para insumos, R para producción, DV es para rechazo y mas valores que tiene.
TTDTE es la fecha que es un número expresado en yyyyMMdd
TPROD sería quizás el Id, es un código que identifica qué es lo que se está produciendo, consumiendo, rechazando, etc - Tiene una simbología de que los códigos que comienzan por Q son para químicos, los que comienzan por S son producción y demás códigos que tiene.
THWRKC es el identificador de planta, en este caso es molinos y los molinos van del 431101 al 431106 respectivamente, hay otros códigos que son para planta destintado o cualquier otra, pero molinos son los que estoy usando.
T1, T2 y T3 son lo que consumió, gastó y rechazó cada turno, la suma de los 3 turnos sería el total del día.

El programa debería mostrar una columna con los TPROD de Químicos que son los que comienzan por Q, luego de eso las columnas con los 12 meses del año y una mas con el total del año, los resultados serían la suma de los T1, T2 y T3 para tener los resultados diarios pero acumulados para tener los totales del mes, ese resultado dividido entre el total de R sin ningún tipo de diferenciación de código, todas las R sumadas es la producción real del periodo, este caso todas las R del mes 01 serían la producción de enero, las R se dividen entre 1000 para dar la unidad y eso para todos los meses y códigos de los químicos.

Visto en fórmula sería

Cita:
Insumo de químicos = SUM(T1+T2+T3 de Código_químico1 del mes)/(Sum(R del mes)/1000) = Número kg/Ton
Espero haberme expresado un poco mas claro.

Última edición por Casimiro Notevi fecha: 02-12-2015 a las 20:15:47.
Responder Con Cita
  #22  
Antiguo 02-12-2015
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Bueno, no puedes correr si no sabes andar...

Vamos por partes.

Vamos a sacar los insumos de los productos químicos del molino 431101.
TTYPE = 'I'
THWRKC= 431101
TPROD like 'Q%'
Además vamos a ver el consumo por cada día.

Código SQL [-]
Select 
TPROD, TTDTE,
T1, T2, T3
FROM BPCS_TRANS_ITH_2
WHERE
TTYPE = 'I'
AND THWRKC= 431101
AND TPROD like 'Q%'
Ahora sumando los insumos de los tres turnos
Código SQL [-]
Select 
TPROD, TTDTE,
T1, T2, T3, T1+T2+T3 as TOTAL_DIA
FROM BPCS_TRANS_ITH_2
WHERE
TTYPE = 'I'
AND THWRKC= 431101
AND TPROD like 'Q%'

Juega con estas consultas, cambiando los insumos por la producción TTYPE = 'R'. Haz variaciones, cambiando el molino, etc.


Cuando lo domines, iremos a calcular esos datos totalizados por día o por mes. De varios molinos, por ejemplo.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #23  
Antiguo 08-12-2015
Malixnox Malixnox is offline
Miembro
NULL
 
Registrado: nov 2015
Posts: 15
Poder: 0
Malixnox Va por buen camino
No sabía que habían respondido, el correo no me avisó y como me tocó prestar servicio en las elecciones de mi país tampoco fui al trabajo unos días, disculpa, voy a probar qué logro con eso, gracias.

Creí que ya se habían rendido conmigo y yo bueh, quien sea se cansa de tanto noob.
Responder Con Cita
  #24  
Antiguo 08-12-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Malixnox Ver Mensaje
Creí que ya se habían rendido conmigo y yo bueh, quien sea se cansa de tanto noob.
Aquí solamente nos cansamos de los que quieren aprovecharse y no tratan de aprender. Nunca nos cansamos de los novatos que quieren aprender. Todos hemos sido novatos y seguimos siéndolo en muchas cosas.
Responder Con Cita
  #25  
Antiguo 08-12-2015
Malixnox Malixnox is offline
Miembro
NULL
 
Registrado: nov 2015
Posts: 15
Poder: 0
Malixnox Va por buen camino
Ya resolví al parecer, les dejo el código por si a alguien le es de ayuda, un amigo me explicó por teléfono que existen sub select y tal, lo busqué y me funcionaron.

Código SQL [-]
SELECT        TPROD, 
SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '01%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '01%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Enero, 

SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '02%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '02%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Febrero, 

SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '03%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '03%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Marzo, 

SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '04%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '04%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Abril, 

SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '05%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '05%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Mayo,

SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '06%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '06%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Junio, 

SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '07%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '07%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Julio, 

SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '08%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '08%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Agosto, 

SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '09%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '09%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Septiembre,

SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '10%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '10%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Octubre,

SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '11%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '11%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Noviembre,

SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '12%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '12%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Diciembre,

SUM(CASE WHEN TTDTE LIKE '%' + @TTDTE + '%' AND TPROD LIKE 'Q%' THEN (T1 + T2 + T3) * - 1 ELSE 0 END)
/(SELECT SUM(T1+T2+T3)/1000 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '%') AND (THWRKC LIKE '431101') AND TTYPE = 'R')  AS Total_Anual
FROM            BPCS_TRANS_ITH_2
WHERE        (TTDTE LIKE '%' + @TTDTE + '%') AND (THWRKC LIKE '431101') AND TPROD LIKE 'Q%' AND TTYPE = 'I'
GROUP BY TPROD
ORDER BY TPROD


SELECT SUM(T1+T2+T3) 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '01%') AND (THWRKC LIKE '431101') AND TTYPE = 'R'
Responder Con Cita
  #26  
Antiguo 08-12-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Malixnox Ver Mensaje
Ya resolví al parecer, les dejo el código por si a alguien le es de ayuda, un amigo me explicó por teléfono que existen sub select y tal, lo busqué y me funcionaron.
Qué bien, lo usaremos para gestionar nuestros molinos
Responder Con Cita
  #27  
Antiguo 08-12-2015
Malixnox Malixnox is offline
Miembro
NULL
 
Registrado: nov 2015
Posts: 15
Poder: 0
Malixnox Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Qué bien, lo usaremos para gestionar nuestros molinos
Hey hey, a lo mejor alguien necesita hacer una consulta similar para gestionar sus cerdos panzudos en planta de bacon [?]

Solo lo dejo, ojalá a alguien le sea útil.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda por favor para armar consulta en firebird Velia Firebird e Interbase 4 21-08-2007 17:37:47
Ayuda por favor lazarous PHP 2 18-07-2005 19:06:58
Por Favor verifiquen esta consulta pues no veo el error. nefy SQL 6 05-06-2004 17:59:06
AYUDA, por favor! Waldo Conexión con bases de datos 5 01-11-2003 17:49:02
ayuda por favor haffo Varios 2 14-10-2003 16:08:45


La franja horaria es GMT +2. Ahora son las 00:37:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi