Obtener datos de las últimas fechas

28/11/2006 - 18:09 por Erik Martinez | Informe spam
tengo una tabla llamada sanidad y necesito sacar los ultimos muestreos
realizados por cada laguna.

lo hice de esta forma:

select original.fecha,original.idlaguna,
original.muertos/original.totalmuestra*100 as Por_Mort from
(select idlaguna, max(fecha) as fecha from sanidad group by idlaguna) copia
inner join
(select idlaguna, fecha, muertos, totalmuestra from sanidad) original
on copia.idlaguna=original.idlaguna and copia.fecha=original.fecha

tengo muchas tablas en las que necesito obtener muchos resultados de ese
tipo

¿como ven ese codigo?

¿Existen mejores manera de hacerlo.?

por favor necesito sus recomendaciones y sugerencias.

muchas gracias..

Preguntas similare

Leer las respuestas

#1 Maxi
28/11/2006 - 19:03 | Informe spam
Hola, yo lo veo bien ese codigo!


Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Erik Martinez" <nadie@@microsoft.com> escribió en el mensaje
news:eo7DB%
tengo una tabla llamada sanidad y necesito sacar los ultimos muestreos
realizados por cada laguna.

lo hice de esta forma:

select original.fecha,original.idlaguna,
original.muertos/original.totalmuestra*100 as Por_Mort from
(select idlaguna, max(fecha) as fecha from sanidad group by idlaguna)
copia inner join
(select idlaguna, fecha, muertos, totalmuestra from sanidad) original
on copia.idlaguna=original.idlaguna and copia.fecha=original.fecha

tengo muchas tablas en las que necesito obtener muchos resultados de ese
tipo

¿como ven ese codigo?

¿Existen mejores manera de hacerlo.?

por favor necesito sus recomendaciones y sugerencias.

muchas gracias..


Respuesta Responder a este mensaje
#2 Alejandro Mesa
28/11/2006 - 19:54 | Informe spam
Erik,

Creo que esta bien lo que estas haciendo. Se puede escribir de otra forma,
pero no habra ganancia de desempeño. Quizas si posteas los indices de la
tabla y el plan de ejecucion, podriamos chequear si este se puede mejorar.

select
o.idlaguna,
o.fecha,
o.muertos / nullif(o.totalmuestra, 0) * 100.00 -- para evitar div por 0
from
dbo.sanidad as o
inner join
(
select
idlaguna,
max(fecha) as max_fecha
from
dbo.sanidad
group by
idlaguna
) as c
on o.idlaguna = c.idlaguna
and o.fecha = c.max_fecha
go


AMB

"Erik Martinez" wrote:

tengo una tabla llamada sanidad y necesito sacar los ultimos muestreos
realizados por cada laguna.

lo hice de esta forma:

select original.fecha,original.idlaguna,
original.muertos/original.totalmuestra*100 as Por_Mort from
(select idlaguna, max(fecha) as fecha from sanidad group by idlaguna) copia
inner join
(select idlaguna, fecha, muertos, totalmuestra from sanidad) original
on copia.idlaguna=original.idlaguna and copia.fecha=original.fecha

tengo muchas tablas en las que necesito obtener muchos resultados de ese
tipo

¿como ven ese codigo?

¿Existen mejores manera de hacerlo.?

por favor necesito sus recomendaciones y sugerencias.

muchas gracias..



Respuesta Responder a este mensaje
#3 Erik Martinez
28/11/2006 - 20:36 | Informe spam
Que bueno, entonces lo hare de esa forma.
muchas gracias Maxi y Alejandro.
Respuesta Responder a este mensaje
#4 BitOne®
28/11/2006 - 21:08 | Informe spam
Hola Erik Martinez:

Solo quedaria evaluar los indices y que tan frecuente realizarias tus
consultas.

Saludos,

BitOne®
"Erik Martinez" <nadie@@microsoft.com> wrote in message
news:eo7DB#
tengo una tabla llamada sanidad y necesito sacar los ultimos muestreos
realizados por cada laguna.

lo hice de esta forma:

select original.fecha,original.idlaguna,
original.muertos/original.totalmuestra*100 as Por_Mort from
(select idlaguna, max(fecha) as fecha from sanidad group by idlaguna)


copia
inner join
(select idlaguna, fecha, muertos, totalmuestra from sanidad) original
on copia.idlaguna=original.idlaguna and copia.fecha=original.fecha

tengo muchas tablas en las que necesito obtener muchos resultados de ese
tipo

¿como ven ese codigo?

¿Existen mejores manera de hacerlo.?

por favor necesito sus recomendaciones y sugerencias.

muchas gracias..


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida