Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] Sumar una subconsulta

Estas en el tema de Sumar una subconsulta en el foro de SQL Server en Foros del Web. hola a todos, pido su ayuda para el siguiente caso, tengo dos consultas una me devuelve 16 registros (que quiero sumar), para que en la ...
  #1 (permalink)  
Antiguo 12/02/2014, 11:54
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 2 meses
Puntos: 0
Pregunta Sumar una subconsulta

hola a todos,

pido su ayuda para el siguiente caso, tengo dos consultas una me devuelve 16 registros (que quiero sumar), para que en la segunda consulta que solo devuelve un registro me coloque la suma de la primera, aquí las pongo

Código:
SELECT ((SUM(ACL.UNIDADESTOTAL) * ACL.PRECIO * ADC.TIPOCAMBIO)/(APL.IMPORTEALB * ADC.TIPOCAMBIO)) * APL.GASTOS  AS IMPORTEPESOS
FROM ALBCOMPRALIN ACL 
LEFT JOIN ALBCOMPRACAB ACC 
ON ACC.NUMALBARAN = ACL.NUMALBARAN AND ACC.NUMSERIE = ACL.NUMSERIE
LEFT JOIN ADSA_PEDIMENTOSLIN APL 
ON APL.SUALBARAN = ACC.SUALBARAN
LEFT JOIN ADSA_PEDIMENTOSCAB ADC 
ON ADC.NUMPED = APL.NUMPED AND ADC.PREFIJOPED = APL.PREFIJOPED AND ADC.AGENTEPED = APL.AGENTEPED
WHERE REFERENCIA = '724141850131' AND APL.NUMPED IS NOT NULL AND APL.NUMPED > 2014
GROUP BY  
APL.NUMPED, ADC.FECHAPEDIMENTO, ACL.REFERENCIA, ACL.PRECIO, ADC.TIPOCAMBIO, ADC.GASTOS, APL.SUALBARAN, ACL.UNIDADESTOTAL,
APL.IMPORTEALB, APL.GASTOS
la segunda consulta

Código:
SELECT ADC.FECHAPEDIMENTO, ADP.NUMPED, ACL.REFERENCIA, SUM(ACL.UNIDADESTOTAL) AS STOCK, 
ACL.PRECIO*ADC.TIPOCAMBIO AS COSTCOMPRA, ADC.TIPOCAMBIO, (ACL.PRECIO*ADC.TIPOCAMBIO)*(SUM(ACL.UNIDADESTOTAL)) AS VALORFACTURA
FROM ALBCOMPRALIN ACL 
LEFT JOIN ALBCOMPRACAB ACC 
ON ACC.NUMALBARAN=ACL.NUMALBARAN AND ACC.NUMSERIE=ACL.NUMSERIE
LEFT JOIN ADSA_PEDIMENTOSLIN ADP 
ON ADP.SUALBARAN=ACC.SUALBARAN
LEFT JOIN ADSA_PEDIMENTOSCAB ADC 
ON ADC.NUMPED=ADP.NUMPED AND ADC.PREFIJOPED=ADP.PREFIJOPED AND ADC.AGENTEPED=ADP.AGENTEPED
WHERE REFERENCIA = '724141850131' AND ADP.NUMPED IS NOT NULL AND ADP.NUMPED > 10000
GROUP BY  
ADP.NUMPED, ADC.FECHAPEDIMENTO, ACL.REFERENCIA, ACL.PRECIO, ADC.TIPOCAMBIO
las consultas me devuelven



lo que pretendo lograr es que al ejecutar la segunda consulta se agregue un último campo con la suma de la primera



he intentado esto sin éxito

Código:
SELECT ADC.FECHAPEDIMENTO, ADP.NUMPED, ACL.REFERENCIA, SUM(ACL.UNIDADESTOTAL) AS STOCK, 
ACL.PRECIO*ADC.TIPOCAMBIO AS COSTCOMPRA, ADC.TIPOCAMBIO, (ACL.PRECIO*ADC.TIPOCAMBIO)*(SUM(ACL.UNIDADESTOTAL)) AS VALORFACTURA,

SUM(SELECT ((SUM(ACL.UNIDADESTOTAL) * ACL.PRECIO * ADC.TIPOCAMBIO)/(APL.IMPORTEALB * ADC.TIPOCAMBIO)) * APL.GASTOS  AS IMPORTEPESOS
FROM ALBCOMPRALIN ACL 
LEFT JOIN ALBCOMPRACAB ACC 
ON ACC.NUMALBARAN = ACL.NUMALBARAN AND ACC.NUMSERIE = ACL.NUMSERIE
LEFT JOIN ADSA_PEDIMENTOSLIN APL 
ON APL.SUALBARAN = ACC.SUALBARAN
LEFT JOIN ADSA_PEDIMENTOSCAB ADC 
ON ADC.NUMPED = APL.NUMPED AND ADC.PREFIJOPED = APL.PREFIJOPED AND ADC.AGENTEPED = APL.AGENTEPED
WHERE REFERENCIA = '724141850131' AND APL.NUMPED IS NOT NULL AND APL.NUMPED > 2014
GROUP BY  
APL.NUMPED, ADC.FECHAPEDIMENTO, ACL.REFERENCIA, ACL.PRECIO, ADC.TIPOCAMBIO, ADC.GASTOS, APL.SUALBARAN, ACL.UNIDADESTOTAL,
APL.IMPORTEALB, APL.GASTOS) AS PRORRATA

FROM ALBCOMPRALIN ACL 
LEFT JOIN ALBCOMPRACAB ACC 
ON ACC.NUMALBARAN=ACL.NUMALBARAN AND ACC.NUMSERIE=ACL.NUMSERIE
LEFT JOIN ADSA_PEDIMENTOSLIN ADP 
ON ADP.SUALBARAN=ACC.SUALBARAN
LEFT JOIN ADSA_PEDIMENTOSCAB ADC 
ON ADC.NUMPED=ADP.NUMPED AND ADC.PREFIJOPED=ADP.PREFIJOPED AND ADC.AGENTEPED=ADP.AGENTEPED
WHERE REFERENCIA = '724141850131' AND ADP.NUMPED IS NOT NULL AND ADP.NUMPED > 10000
GROUP BY  
ADP.NUMPED, ADC.FECHAPEDIMENTO, ACL.REFERENCIA, ACL.PRECIO, ADC.TIPOCAMBIO
porque me tira los siguientes errores

Msg 156, Level 15, State 1, Line 4
Sintaxis incorrecta cerca de la palabra clave 'SELECT'.
Msg 102, Level 15, State 1, Line 15
Sintaxis incorrecta cerca de ')'.
  #2 (permalink)  
Antiguo 12/02/2014, 11:59
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Sumar una subconsulta

Código SQL:
Ver original
  1. SELECT SUM(importepesos) AS total INTO #temp FROM
  2. (
  3. SELECT ((SUM(ACL.UNIDADESTOTAL) * ACL.PRECIO * ADC.TIPOCAMBIO)/(APL.IMPORTEALB * ADC.TIPOCAMBIO)) * APL.GASTOS  AS IMPORTEPESOS
  4. FROM ALBCOMPRALIN ACL
  5. LEFT JOIN ALBCOMPRACAB ACC
  6. ON ACC.NUMALBARAN = ACL.NUMALBARAN AND ACC.NUMSERIE = ACL.NUMSERIE
  7. LEFT JOIN ADSA_PEDIMENTOSLIN APL
  8. ON APL.SUALBARAN = ACC.SUALBARAN
  9. LEFT JOIN ADSA_PEDIMENTOSCAB ADC
  10. ON ADC.NUMPED = APL.NUMPED AND ADC.PREFIJOPED = APL.PREFIJOPED AND ADC.AGENTEPED = APL.AGENTEPED
  11. WHERE REFERENCIA = '724141850131' AND APL.NUMPED IS NOT NULL AND APL.NUMPED > 2014
  12. GROUP BY  
  13. APL.NUMPED, ADC.FECHAPEDIMENTO, ACL.REFERENCIA, ACL.PRECIO, ADC.TIPOCAMBIO, ADC.GASTOS, APL.SUALBARAN, ACL.UNIDADESTOTAL,
  14. APL.IMPORTEALB, APL.GASTOS
  15. ) t1 GROUP BY importepesos
  16.  
  17. SELECT ADC.FECHAPEDIMENTO, ADP.NUMPED, ACL.REFERENCIA, SUM(ACL.UNIDADESTOTAL) AS STOCK,
  18. ACL.PRECIO*ADC.TIPOCAMBIO AS COSTCOMPRA, ADC.TIPOCAMBIO, (ACL.PRECIO*ADC.TIPOCAMBIO)*(SUM(ACL.UNIDADESTOTAL)) AS VALORFACTURA,(SELECT total FROM #temp) AS sumaconsulta1
  19. FROM ALBCOMPRALIN ACL
  20. LEFT JOIN ALBCOMPRACAB ACC
  21. ON ACC.NUMALBARAN=ACL.NUMALBARAN AND ACC.NUMSERIE=ACL.NUMSERIE
  22. LEFT JOIN ADSA_PEDIMENTOSLIN ADP
  23. ON ADP.SUALBARAN=ACC.SUALBARAN
  24. LEFT JOIN ADSA_PEDIMENTOSCAB ADC
  25. ON ADC.NUMPED=ADP.NUMPED AND ADC.PREFIJOPED=ADP.PREFIJOPED AND ADC.AGENTEPED=ADP.AGENTEPED
  26. WHERE REFERENCIA = '724141850131' AND ADP.NUMPED IS NOT NULL AND ADP.NUMPED > 10000
  27. GROUP BY  
  28. ADP.NUMPED, ADC.FECHAPEDIMENTO, ACL.REFERENCIA, ACL.PRECIO, ADC.TIPOCAMBIO

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 12/02/2014, 12:04
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Sumar una subconsulta

gracias por tu rápida respuesta

ahora lo que me da es este error

(16 row(s) affected)
Msg 512, Level 16, State 1, Line 17
La subconsulta ha devuelto más de un valor, lo que no es correcto cuando va a continuación de =, !=, <, <=, >, >= o cuando se utiliza como expresión.

estoy usando sql serever 2008
  #4 (permalink)  
Antiguo 12/02/2014, 12:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Sumar una subconsulta

mi error una disculpa prueba con esto:
Código SQL:
Ver original
  1. IF OBJECT_ID('tempdb..#temp') IS NOT NULL DROP TABLE #temp
  2. SELECT SUM(importepesos) AS total INTO #temp FROM
  3. (
  4. SELECT ((SUM(ACL.UNIDADESTOTAL) * ACL.PRECIO * ADC.TIPOCAMBIO)/(APL.IMPORTEALB * ADC.TIPOCAMBIO)) * APL.GASTOS  AS IMPORTEPESOS
  5. FROM ALBCOMPRALIN ACL
  6. LEFT JOIN ALBCOMPRACAB ACC
  7. ON ACC.NUMALBARAN = ACL.NUMALBARAN AND ACC.NUMSERIE = ACL.NUMSERIE
  8. LEFT JOIN ADSA_PEDIMENTOSLIN APL
  9. ON APL.SUALBARAN = ACC.SUALBARAN
  10. LEFT JOIN ADSA_PEDIMENTOSCAB ADC
  11. ON ADC.NUMPED = APL.NUMPED AND ADC.PREFIJOPED = APL.PREFIJOPED AND ADC.AGENTEPED = APL.AGENTEPED
  12. WHERE REFERENCIA = '724141850131' AND APL.NUMPED IS NOT NULL AND APL.NUMPED > 2014
  13. GROUP BY  
  14. APL.NUMPED, ADC.FECHAPEDIMENTO, ACL.REFERENCIA, ACL.PRECIO, ADC.TIPOCAMBIO, ADC.GASTOS, APL.SUALBARAN, ACL.UNIDADESTOTAL,
  15. APL.IMPORTEALB, APL.GASTOS
  16. ) t1
  17.  
  18. SELECT ADC.FECHAPEDIMENTO, ADP.NUMPED, ACL.REFERENCIA, SUM(ACL.UNIDADESTOTAL) AS STOCK,
  19. ACL.PRECIO*ADC.TIPOCAMBIO AS COSTCOMPRA, ADC.TIPOCAMBIO, (ACL.PRECIO*ADC.TIPOCAMBIO)*(SUM(ACL.UNIDADESTOTAL)) AS VALORFACTURA,(SELECT total FROM #temp) AS sumaconsulta1
  20. FROM ALBCOMPRALIN ACL
  21. LEFT JOIN ALBCOMPRACAB ACC
  22. ON ACC.NUMALBARAN=ACL.NUMALBARAN AND ACC.NUMSERIE=ACL.NUMSERIE
  23. LEFT JOIN ADSA_PEDIMENTOSLIN ADP
  24. ON ADP.SUALBARAN=ACC.SUALBARAN
  25. LEFT JOIN ADSA_PEDIMENTOSCAB ADC
  26. ON ADC.NUMPED=ADP.NUMPED AND ADC.PREFIJOPED=ADP.PREFIJOPED AND ADC.AGENTEPED=ADP.AGENTEPED
  27. WHERE REFERENCIA = '724141850131' AND ADP.NUMPED IS NOT NULL AND ADP.NUMPED > 10000
  28. GROUP BY  
  29. ADP.NUMPED, ADC.FECHAPEDIMENTO, ACL.REFERENCIA, ACL.PRECIO, ADC.TIPOCAMBIO
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 12/02/2014, 12:17
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Sumar una subconsulta

Funcionó perfecto gracias.
  #6 (permalink)  
Antiguo 12/02/2014, 12:29
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Sumar una subconsulta

Cita:
Iniciado por oscar_miguelm Ver Mensaje
Funcionó perfecto gracias.
Pues que esperabas
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 12/02/2014, 15:23
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Sumar una subconsulta

Pregunta, hay manera de que la tabla temp se vaya vaciando y volviendo a llenar a medida que que escribe un nuevo registro, me explico mejor, esa consulta funciona perfecto cuando tengo solo un pedimento, pero cuando hay más de uno suma las cantidades de importepesos pongo ejemplo, lo que debería obtener es esto

Código:
FECHAPEDIMENTO	NUMPED	REFERENCIA	STOCK	COSTCOMPRA	TIPOCAMBIO	VALORFACTURA	PRORRATA	COSTOUNITARIO
25/03/2013	3008343	213072123131	104	163.8151484	16.38151484	17036.77543	4092.409138	203.1652363
12/04/2013	3009305	213072123131	2	157.322569	15.7322569	314.645138	68.6978121	191.671475
26/04/2013	3009955	213072123131	1	156.405683	15.6405683	156.405683	36.39103053	192.7967135
06/05/2013	3010375	213072123131	5	159.8430735	15.98430735	799.2153675	212.7624017	202.3955538
21/05/2013	3010897	213072123131	26	157.9655295	15.79655295	4107.103767	1004.126687	196.5857867
30/05/2013	3011460	213072123131	16	159.554448	15.9554448	2552.871168	600.0031846	197.054647
pero al ejecutar la consulta me da esto

Código:
FECHAPEDIMENTO	NUMPED	REFERENCIA	STOCK	COSTCOMPRA	TIPOCAMBIO	VALORFACTURA	PRORRATA	COSTOUNITARIO
25/03/2013	3008343	213072123131	104	163.8151484	16.38151484	17036.77543	6014.390254	221.6458239
12/04/2013	3009305	213072123131	2	157.322569	15.7322569	314.645138	6014.390254	3164.517696
26/04/2013	3009955	213072123131	1	156.405683	15.6405683	156.405683	6014.390254	6170.795937
06/05/2013	3010375	213072123131	5	159.8430735	15.98430735	799.2153675	6014.390254	1362.721124
21/05/2013	3010897	213072123131	26	157.9655295	15.79655295	4107.103767	6014.390254	389.2882316
30/05/2013	3011460	213072123131	16	159.554448	15.9554448	2552.871168	6014.390254	535.4538389
tendría que sumar solo las cantidades que corresponden a ese importe y no toda la columna
  #8 (permalink)  
Antiguo 12/02/2014, 15:31
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Sumar una subconsulta

si se puede, en lugar de usar una tabla temporal deberias de usar una funcion, aunque en el primer query:

Código SQL:
Ver original
  1. SELECT ((SUM(ACL.UNIDADESTOTAL) * ACL.PRECIO * ADC.TIPOCAMBIO)/(APL.IMPORTEALB * ADC.TIPOCAMBIO)) * APL.GASTOS  AS IMPORTEPESOS
  2. FROM ALBCOMPRALIN ACL
  3. LEFT JOIN ALBCOMPRACAB ACC
  4. ON ACC.NUMALBARAN = ACL.NUMALBARAN AND ACC.NUMSERIE = ACL.NUMSERIE
  5. LEFT JOIN ADSA_PEDIMENTOSLIN APL
  6. ON APL.SUALBARAN = ACC.SUALBARAN
  7. LEFT JOIN ADSA_PEDIMENTOSCAB ADC
  8. ON ADC.NUMPED = APL.NUMPED AND ADC.PREFIJOPED = APL.PREFIJOPED AND ADC.AGENTEPED = APL.AGENTEPED
  9. WHERE REFERENCIA = '724141850131' AND APL.NUMPED IS NOT NULL AND APL.NUMPED > 2014
  10. GROUP BY  
  11. APL.NUMPED, ADC.FECHAPEDIMENTO, ACL.REFERENCIA, ACL.PRECIO, ADC.TIPOCAMBIO, ADC.GASTOS, APL.SUALBARAN, ACL.UNIDADESTOTAL,
  12. APL.IMPORTEALB, APL.GASTOS

no veo donde filtras por numero de pedimento...... pero bueno seria que hicieras algo asi:

Código SQL:
Ver original
  1. CREATE FUNCTION retorna_suma (@pedimento INT)
  2. RETURNS @TABLE
  3. (
  4. suma INT
  5. )
  6. AS
  7. BEGIN
  8. INSERT INTO @TABLE
  9. SELECT SUM(IMPORTEPESOS) AS total FROM
  10. (
  11. SELECT ((SUM(ACL.UNIDADESTOTAL) * ACL.PRECIO * ADC.TIPOCAMBIO)/(APL.IMPORTEALB * ADC.TIPOCAMBIO)) * APL.GASTOS  AS IMPORTEPESOS
  12. FROM ALBCOMPRALIN ACL
  13. LEFT JOIN ALBCOMPRACAB ACC
  14. ON ACC.NUMALBARAN = ACL.NUMALBARAN AND ACC.NUMSERIE = ACL.NUMSERIE
  15. LEFT JOIN ADSA_PEDIMENTOSLIN APL
  16. ON APL.SUALBARAN = ACC.SUALBARAN
  17. LEFT JOIN ADSA_PEDIMENTOSCAB ADC
  18. ON ADC.NUMPED = APL.NUMPED AND ADC.PREFIJOPED = APL.PREFIJOPED AND ADC.AGENTEPED = APL.AGENTEPED
  19. WHERE REFERENCIA = '724141850131' AND APL.NUMPED IS NOT NULL AND APL.NUMPED > 2014 AND @parametro=@pedimento
  20. GROUP BY  
  21. APL.NUMPED, ADC.FECHAPEDIMENTO, ACL.REFERENCIA, ACL.PRECIO, ADC.TIPOCAMBIO, ADC.GASTOS, APL.SUALBARAN, ACL.UNIDADESTOTAL,
  22. APL.IMPORTEALB, APL.GASTOS
  23. ) AS t1
  24. RETURN
  25. END

y ahora usarla en el segundo query:

Código SQL:
Ver original
  1. SELECT ADC.FECHAPEDIMENTO, ADP.NUMPED, ACL.REFERENCIA, SUM(ACL.UNIDADESTOTAL) AS STOCK,
  2. ACL.PRECIO*ADC.TIPOCAMBIO AS COSTCOMPRA, ADC.TIPOCAMBIO, (ACL.PRECIO*ADC.TIPOCAMBIO)*(SUM(ACL.UNIDADESTOTAL)) AS VALORFACTURA,(SELECT * FROM retorna_suma (pedimento) ) AS sumaconsulta1
  3. FROM ALBCOMPRALIN ACL
  4. LEFT JOIN ALBCOMPRACAB ACC
  5. ON ACC.NUMALBARAN=ACL.NUMALBARAN AND ACC.NUMSERIE=ACL.NUMSERIE
  6. LEFT JOIN ADSA_PEDIMENTOSLIN ADP
  7. ON ADP.SUALBARAN=ACC.SUALBARAN
  8. LEFT JOIN ADSA_PEDIMENTOSCAB ADC
  9. ON ADC.NUMPED=ADP.NUMPED AND ADC.PREFIJOPED=ADP.PREFIJOPED AND ADC.AGENTEPED=ADP.AGENTEPED
  10. WHERE REFERENCIA = '724141850131' AND ADP.NUMPED IS NOT NULL AND ADP.NUMPED > 10000
  11. GROUP BY  
  12. ADP.NUMPED, ADC.FECHAPEDIMENTO, ACL.REFERENCIA, ACL.PRECIO, ADC.TIPOCAMBIO

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #9 (permalink)  
Antiguo 12/02/2014, 16:04
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Sumar una subconsulta

te agradezco enormemente la ayuda, la verdad es que soy algo nuevo en esto y tu ayuda es muy valiosa

por ejemplo la referencia que señalo en la consulta esta asociada a los 6 pedimentos que están señalados, la intención es que la consulta funcione para todas las referencias y en cada caso las referencias pertenecerían a distintos pedimentos según sea el caso, por tanto en lo que mencionas hay que pasarle el parámetro del pedimento a la consulta, pero podría ser al revés que con la referencia sepamos de que pedimento procede y haga el calculo correspondiente?, de tal forma que cada referencia tenga sus propios cálculos, algo como esto



en muchos de los casos la referencia solo viene de un pedido, pero en otros casos viene de más de uno y es allí donde me atore
  #10 (permalink)  
Antiguo 12/02/2014, 16:12
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Sumar una subconsulta

entonces necesitas definir la logica que seguira tu proceso, una vez definida puedes hacer lo que te comente, tomar en cuenta la referencia o el pedimento dependiendo de cada caso :) te dejo mi skype librasgan por cualquier cosa :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: campo, fecha, group, registros, select, siguiente, subconsulta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:37.