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

Ayuda con consulta

Estas en el tema de Ayuda con consulta en el foro de Bases de Datos General en Foros del Web. Tengo las siguientes columnas dentro de una tabla: Numero Ot ___|____ Numero Revision _______________________________ ___1000_____|______1____________ ___2500_____|______1___________ ___2500_____|______2___________ Necesito q se muestre para cada numero de ...
  #1 (permalink)  
Antiguo 14/07/2008, 10:49
 
Fecha de Ingreso: noviembre-2004
Mensajes: 37
Antigüedad: 19 años, 5 meses
Puntos: 0
Ayuda con consulta

Tengo las siguientes columnas dentro de una tabla:

Numero Ot ___|____ Numero Revision
_______________________________

___1000_____|______1____________
___2500_____|______1___________
___2500_____|______2___________


Necesito q se muestre para cada numero de ot el mayor numero de revision que tenga asociado. En este caso seria la 1 para la ot 1000 y la 2 para la ot 2500

Alguien me podria decir como seria mas menos la query?


Desde ya muchas gracias por vuestra ayuda
  #2 (permalink)  
Antiguo 14/07/2008, 11:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Ayuda con consulta

Creo que esta (te he puesto los nombres de los campos entre acentos graves porque separas con espacio el nombre, algo no muy recomendable):

SELECT `Numero Ot`, Max(`Numero Revision`) FROM `nombretutabla` group by `Numero Ot` ORDER BY `Numero Ot`
  #3 (permalink)  
Antiguo 14/07/2008, 12:20
 
Fecha de Ingreso: noviembre-2004
Mensajes: 37
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Ayuda con consulta

Gracias por responder!

Me funciona perfecto pero el problema es que tengo mas campos y al agregarlos no los puedo mostrar... esto es asi..

Numero Ot ___|____ Numero Revision______| Valor_total ______
__________________________________________________ __

___1000_____|______1________________|______50_____ __
___2500_____|______1________________|______40_____ __
___2500_____|______2________________|______70_____ __

La idea es poder mostrar lo siguiente...


Numero Ot ___|____ Numero Revision______| Valor_total ______
__________________________________________________ __

___1000_____|______1________________|______50_____ __
___2500_____|______2________________|______70_____ __

Vuelvo a agradecer nuevamente la colaboracion
  #4 (permalink)  
Antiguo 14/07/2008, 14:16
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Ayuda con consulta

He llamado a tu tabla con tu nick, y he puesto guión bajo a los nombres de los campos.

SELECT h.Numero_Ot, h.Numero_revision, h.valor_total
FROM headed h
INNER JOIN (

SELECT `Numero_Ot` AS numero, Max( `Numero_Revision` ) AS maximo, valor_total
FROM `headed`
GROUP BY `Numero_Ot`
)T1 ON T1.numero = h.Numero_ot
AND h.Numero_revision = T1.maximo
GROUP BY h.numero_ot
  #5 (permalink)  
Antiguo 14/07/2008, 18:32
 
Fecha de Ingreso: noviembre-2004
Mensajes: 37
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Ayuda con consulta

no funciona.. muestra todos los registros de la tabla :(
  #6 (permalink)  
Antiguo 14/07/2008, 21:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Ayuda con consulta

Comprueba los nombres de las campos y de la tabla, pues si lo que quieres sacar son los datos de Numero Ot, Numero revision y valor_total, agrupando por numero ot y mostrando el que tiene de ellos el mayor numero revision, acompañado de su valor_total, esta consulta lo hace (ahora he puesto los nombres como creo que los tienes tú:
Código:
SELECT h.`Numero Ot` , h.`Numero revision`, h.`valor_total`
FROM `headed` h
INNER JOIN (
SELECT `Numero Ot` AS numero, Max( `Numero Revision` ) AS maximo
FROM `nombretutabla` 
GROUP BY `Numero Ot` 
)T1 ON T1.numero = h.`Numero ot`
AND h.`Numero_revision` = T1.maximo
GROUP BY h.`numero ot`
Lo he probado.
También podría ocurrir que no tuvieras ningún dato con Numero Ot repetido en la tabla y, en ese caso, saldrían todos, claro.
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 15:15.