Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Bases de Datos General (http://www.forosdelweb.com/f21/)
-   -   Ayuda con consulta (http://www.forosdelweb.com/f21/ayuda-con-consulta-605722/)

HeAdEd 14/07/2008 10:49

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

jurena 14/07/2008 11:56

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`

HeAdEd 14/07/2008 12:20

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

jurena 14/07/2008 14:16

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

HeAdEd 14/07/2008 18:32

Respuesta: Ayuda con consulta
 
no funciona.. muestra todos los registros de la tabla :(

jurena 14/07/2008 21:05

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.


La zona horaria es GMT -6. Ahora son las 07:41.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.