Foros del Web » Programando para Internet » ASP Clásico »

Ayuda con funciones agregadas !!

Estas en el tema de Ayuda con funciones agregadas !! en el foro de ASP Clásico en Foros del Web. Que tal, espero estén bien ... este es mi primer mensaje y si... es para pedir ayuda, espero que puedan darme la solución porque llevo ...
  #1 (permalink)  
Antiguo 13/11/2008, 16:34
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 16 años, 6 meses
Puntos: 1
Ayuda con funciones agregadas !!

Que tal, espero estén bien ... este es mi primer mensaje y si... es para pedir ayuda, espero que puedan darme la solución porque llevo tiempo buscando y no encuentro... y la verdad es que ya me estoy desesperando...

Tengo mi base de datos en access para un sistema con ASP clásico, mi problema esta en que tengo una tabla como sigue:

id_proyecto fecha_actual num_reporte nom_proyecto num_obra
40 | 10/28/2008 | 6 | UNO | 80010
50 | 11/6/2008 | 1 | DOS | 99999
70 | 11/10/2008 | 18 | DOS | 99999
90 | 10/11/2008 | 3 | DOS | 99999
10 | 10/11/2008 | 4 | DOS | 99999
11 | 10/11/2008 | 7 | UNO | 80010

La idea es sacar de esa tabla, con una consulta SQL, los registros con el num_reporte mas alto agrupados por num_obra, es decir:

id_proyecto fecha_actual num_reporte nom_proyecto num_obra
70 | 11/10/2008 | 18 | DOS | 99999
11 | 10/11/2008 | 7 | UNO | 80010

Lo he intentado con:

SELECT num_obra, max(num_reporte) as num_reporte FROM PROYECTOS GROUP BY num_obra

y si me da el resultado que quiero... pero solo los campos de num_obra y num_reporte y no encuentro la forma de seleccionar los demas campos de id_proyecto, fecha_actual y nom_proyecto... como lo hagooo ???
  #2 (permalink)  
Antiguo 14/11/2008, 07:29
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Ayuda con funciones agregadas !!

Hola

Es que lo demás campos no los estás seleccionando

SELECT id_proyecto, fecha_actual, nom_proyecto num_obra, max(num_reporte) as num_reporte FROM PROYECTOS GROUP BY num_obra

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 14/11/2008, 10:28
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Ayuda con funciones agregadas !!

Gracias por la respuesta, pero al ponerlos como dices me sale este error:

Error Type:
Microsoft JET Database Engine (0x80040E21)
You tried to execute a query that does not include the specified expression 'id_proyecto' as part of an aggregate function.
  #4 (permalink)  
Antiguo 14/11/2008, 10:58
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Respuesta: Ayuda con funciones agregadas !!

Pasa que si no agregás el GROUP BY al campo id_proyecto y fecha_actual, te va a dar el error que te dio. Y si lo agregás, te va a devolver todos los registros... que no es lo que buscás.

Intentá con esto:


Código:
..
SELECT * FROM PROYECTOS WHERE num_reporte IN (SELECT Max(num_reporte) FROM PROYECTOS GROUP BY num_obra)
..
Creo que te funciona, al menos para la muestra de datos que mostraste.
__________________
...___...
  #5 (permalink)  
Antiguo 14/11/2008, 11:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Ayuda con funciones agregadas !!

Excelente, funciona a la perfección ! :D

Nunca se me hubiera ocurrido usar el IN, muchas gracias Al Zuwaga, me has sacado de un gran problema ! :D
  #6 (permalink)  
Antiguo 14/11/2008, 11:29
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Respuesta: Ayuda con funciones agregadas !!

De nada


(la muestra que mostraste... menos mal que no me dedico a la escritura )
__________________
...___...
  #7 (permalink)  
Antiguo 14/11/2008, 14:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Ayuda con funciones agregadas !!

Cita:
Iniciado por Al Zuwaga Ver Mensaje
(la muestra que mostraste... menos mal que no me dedico a la escritura )
que importa hombre, mientras se entienda el código que mas da la redacción
  #8 (permalink)  
Antiguo 21/11/2008, 11:20
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Ayuda con funciones agregadas !!

Perdonen por abrir de nuevo este post, pero tengo otro problema con lo mismo y es que cuando los datos en el campo num_reporte son iguales, la sentencia que me hizo el favor de darme Al Zugawa no funciona, pongo ejemplo:

id_proyecto | fecha_actual | num_reporte | nom_proyecto | num_obra
3 | 10/28/2008 | 2 | PROYECTO 1 | 10
14 | 11/6/2008 | 3 | PROYECTO 2 | 11
16 | 11/10/2008 | 4 | PROYECTO 3 | 13
17 | 10/11/2008 | 2 | PROYECTO 4 | 70
19 | 10/11/2008 | 1 | PROYECTO 5 | 80
20 | 10/11/2008 | 3 | PROYECTO 1 | 10

Yo necesito que los registros que me arroje la consulta sean solamente asi:

14 | 11/6/2008 | 3 | PROYECTO 2 | 11
16 | 11/10/2008 | 4 | PROYECTO 3 | 13
17 | 10/11/2008 | 2 | PROYECTO 4 | 70
19 | 10/11/2008 | 1 | PROYECTO 5 | 80
20 | 10/11/2008 | 3 | PROYECTO 1 | 10

Es decir, solamente el num_reporte mas alto de cada nom_obra... no se que es lo que pasa, habia estado funcionando muy bien :S... alguien me podría ayudar ?
  #9 (permalink)  
Antiguo 21/11/2008, 11:54
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Respuesta: Ayuda con funciones agregadas !!

Cita:
Creo que te funciona, al menos para la muestra de datos que mostraste.
Claro. Es qe en la primer muestra num_reporte nunca se repetía... en la segunda si.
En este momento no puedo ayudarte, pasé por aquí sólo a cumplir "tareas moderativas".
__________________
...___...
  #10 (permalink)  
Antiguo 21/11/2008, 13:54
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Ayuda con funciones agregadas !!

Hola

No se como resolverlo, pero tu sentencia hace esto, quizás te ayude

Código asp:
Ver original
  1. SELECT * FROM PROYECTOS WHERE num_reporte IN (3,4,2,1,3)

Suerte





__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #11 (permalink)  
Antiguo 24/11/2008, 11:21
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Ayuda con funciones agregadas !!

Gracias por la ayuda Adler, intentaré resolverlo de alguna forma, si encuentro lo posteo.

Saludos.
  #12 (permalink)  
Antiguo 05/01/2009, 08:18
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Ayuda con funciones agregadas !!

Hola

Este post no es para reabrir el tema, seguro que el_gabo ya lo solucionó, sino para cerrar el tema y que otros usuario se beneficien.

Código asp:
Ver original
  1. SQL = "SELECT Distinct(num_reporte), id_proyecto, fecha_actual, nom_proyecto, num_obra FROM tabla WHERE num_reporte IN (Select Max(num_reporte) FROM tabla GROUP BY num_obra)"

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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 09:45.