Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-12-2015
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
A ver doctor, vamos por partes.

Te recomiendo un manual de SQL más que rápido.

Cuando agrupas, los campos que van en el group by van tal cual en la select, el resto tiene que ir en una función de agregado ( sum, max, min, avg, ...)

Cuando te puse Anio_Mes, me refería a que tienes que ponerlo para luego poder agruparlo.
Del campo en el que tienes la fecha, tendrás que sacar el año y el mes. Si filtras por año, sólamente necesitarás el mes, pero no sé qué formato tiene el campo (date, string, ...). Si tu campo de fecha es el TTDTE, deduzco ( ya que no has puesto el tipo de campo que es ) que es un string/char/varchar.

Entonces, para saber el año y el mes, te quedas con los primeros 6 caracteres del campo TTDTE. O si filtras por el año, te puedes quedar con los caracteres 5 y 6 que identifican el año. Si no filtras, se mezclarían los datos del mes de Enero de diferentes años.

Resumiendo, y asumiendo que el campo TTDTE es de tipo CHAR o VARCHAR y que contiene la fecha en formato YYYYMMDD
Código SQL [-]
Si no filtras por año
select substring(TTDTE,1,6) as Mes, TPROD, 
sum(T1+t2+t3) as TOTAL
from tabla
where TPROD like 'Q%'
group by substring(
TTDTE,1,6), TPROD

Código SQL [-]
Si filtras por año
select substring(TTDTE,5,2) as Mes, TPROD, 
sum(T1+t2+t3) as TOTAL
from tabla
where TPROD like 'Q%'
and substring(TTDTE,1,4) = '2015'
group by substring(TTDTE,5,2), TPROD

Prueba y nos dices.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -

Última edición por Casimiro Noteví fecha: 02-12-2015 a las 16:34:01.
Responder Con Cita
  #2  
Antiguo 02-12-2015
Malixnox Malixnox is offline
Miembro
NULL
 
Registrado: nov 2015
Posts: 15
Poder: 0
Malixnox Va por buen camino
Gracias por seguir por aquí y no compila o agarra la consulta como prefieras llamarlo porque el campo TTDTE es Numeric (Ni yo mismo lo sabía, tuve que ir a la computadora de un colega que no vino para confirmar, yo no tengo permisos para ver definiciones de tablas).

Y la verdad resumiendo la tristeza es que el resultado de lo que quiero sería para mi hacer consultas por detrás las veces necesarias pero con consultas como esta para cada mes en el caso de las R.

Código SQL [-]
SELECT SUM(T1+T2+T3) 
FROM            BPCS_TRANS_ITH_2
WHERE (TTDTE LIKE '%' + @TTDTE + '01%') AND (THWRKC LIKE '431101') AND TTYPE = 'R'

Esto lo divido entre consultas iguales pero de I o la del CASE que tengo y walah ~

Pero como debe ser auto generado porque bueh, así lo quieren no puedo matarme a labels.

Pero si, confirmé y es TTDTE es Numeric y no reconoce eso de substring (sorry la ignorancia pero no sé para qué sirve, debes ser un pro en sql, yo me siento realizado nomás entendiendo un poco los CASE, haha).

Gracias igualmente, si tienes otra posible solución la pruebo a penas la lea ~

PD: #Halph
Responder Con Cita
  #3  
Antiguo 02-12-2015
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Hola de nuevo,
veo que en tu consulta pones @TTDTE.

Si utilizas esto en lugar de TTDTE en la función substring seguramente te funcione.

NOTA: no sé que motor de bbdd usas. Dependiendo de cual sea puede variar la función SUBSTRING, SUBSTR, ....

Insisto. Busca información de SQL, que hay mucha y buena, y te vendrá de perlas para el desempeño de tus funciones. Esto y exigir que te pongan internet como dice Casimiro, te puede dar mucha luz.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #4  
Antiguo 02-12-2015
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
No entiendo, un compañero puede ver definiciones de tablas, tú no puedes, no tenéis internet... por cierto, ¿cómo accedes a estos foros?
En fin, no sé, es como si a un carpintero no le dan sierras, martillos, clavos, etc.
Responder Con Cita
  #5  
Antiguo 02-12-2015
Malixnox Malixnox is offline
Miembro
NULL
 
Registrado: nov 2015
Posts: 15
Poder: 0
Malixnox Va por buen camino
Dije al principio es que tengo el Internet censurado, no que no tenía, puedo ver algunas páginas por caché y ésta por alguna razón me abrió normal, me ha pasado como en no sé 4 páginas aleatorias, pues menos mal justo era una de un foro de programadores y pues por eso publico mi duda aquí, si, como pasante mi nivel de privilegios es menor por cuestiones de confidencialidad de la empresa que esto y lo otro... Puedo acceder a todos y cada uno de los datos pero no a sus definiciones, Fuck Logic.

No me sirvió la consulta porque suma T1+T2+T3 de los TPROD Q de todo el año, bueno veré que guías por caché me abren de SQL a ver si entiendo los substring esos y me las arreglo, si alguien tiene solución igualmente la probaré.

Gracias a todos.
Responder Con Cita
  #6  
Antiguo 02-12-2015
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por Malixnox Ver Mensaje
si alguien tiene solución igualmente la probaré.
El problema no es si alguien tiene la solución, el problema es que no nos has dado información EXACTA de qué base de datos usas, qué estructura tiene las tablas, de qué tipo son los campos, qué quieres conseguir EXACTAMENTE, etc.
Ese es el problema, que estamos intentando adivinar, dando palos de ciego, porque no das información.
Responder Con Cita
  #7  
Antiguo 02-12-2015
Malixnox Malixnox is offline
Miembro
NULL
 
Registrado: nov 2015
Posts: 15
Poder: 0
Malixnox Va por buen camino
Ya, en un rato vuelvo a la PC del compañero de trabajo, llegó hace poco, anoto la definición de la tabla a ver, la versión de SQL no sabría decirte porque las Bases de datos no las tengo aquí, todas están montadas en el servidor, en mi primer programa aquí perdí mas de una semana tirando código para darme cuenta del horror, explico primero.

Ellos tienen un sistema de consultas llamado BPCS que muestra unas tablas maestras que se usan en las empresas hermanas y en ésta propiamente, está en algo así como la nube o simplemente un servidor (Ni idea) y nada, me pidieron unas consultas de allí para algunas operaciones del primer programa, tiré y tiré códigos sql muchísimo tiempo y averigüé luego de mas de una semana de que nada me sirviese que el programa ente divino, deidad omnisciente estaba en Access, solo puse OlDB y todo compiló... Tristemente no les doy toda la información no por gusto, no la tengo o no he averiguado la manera de obtenerla aún, yo manejo SQL solo por el manejador que tiene pegado el Visual Studios que estoy usando y ya.

En un rato cuando él se desocupe, para no interrumpirlo programando saco la definición de la tabla.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 02:35:20.


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