Ultimo cheque de c/proveedor

23/06/2007 - 01:11 por Antonio Rodriguez | Informe spam
Con una tabla : Codproveedor, Fechack, Numerock

Como puedo sacar el ultimo Numerock de cada Codproveedor ?

Tengo algo asi:
select Codproveedor, Max(Fechack) from tabla group by Codproveedor


Pero lo que quiero obtener son los Numerock.

Muchas gracias

Preguntas similare

Leer las respuestas

#6 Alejandro Mesa
23/06/2007 - 18:58 | Informe spam
Hola Antonio,

select *
from dbo.t1 as a
where not exists (
select *
from dbo.t1 as b
where b.fechack > a.fechack
)
go

select a.*
from
dbo.t1 as a
inner join
(
select codproveedor, max(fechack) as max_fechack
from dbo.t1
group by codproveedor
) as b
on a.codproveedor = b.codproveedor
and a.fechack = b.max_fechack
go

select a.*
from dbo.t1 as a
where fechack = (
select top 1 fechack
from dbo.t1 as b
where b.codproveedor = a.codproveedor
order by fechack desc
)

;with cte
as
(
select
*,
rank() over(partition by codproveedor order by fechack DESC) as rn
from
dbo.t1
)
select
*
from
cte
where
rn = 1
go


AMB

"Antonio Rodriguez" wrote:

Con una tabla : Codproveedor, Fechack, Numerock

Como puedo sacar el ultimo Numerock de cada Codproveedor ?

Tengo algo asi:
select Codproveedor, Max(Fechack) from tabla group by Codproveedor


Pero lo que quiero obtener son los Numerock.

Muchas gracias




Respuesta Responder a este mensaje
#7 Antonio Rodriguez
23/06/2007 - 20:45 | Informe spam
Oye Alejandro, no serás quien inventó T-SQL ? ;-)

Salvo la de 2005 que no probé, todas las demás funcionan bien.

Excelente!

Muchisimas gracias.



"Alejandro Mesa" escribió en el
mensaje news:
Hola Antonio,

select *
from dbo.t1 as a
where not exists (
select *
from dbo.t1 as b
where b.fechack > a.fechack
)
go

select a.*
from
dbo.t1 as a
inner join
(
select codproveedor, max(fechack) as max_fechack
from dbo.t1
group by codproveedor
) as b
on a.codproveedor = b.codproveedor
and a.fechack = b.max_fechack
go

select a.*
from dbo.t1 as a
where fechack = (
select top 1 fechack
from dbo.t1 as b
where b.codproveedor = a.codproveedor
order by fechack desc
)

;with cte
as
(
select
*,
rank() over(partition by codproveedor order by fechack DESC) as rn
from
dbo.t1
)
select
*
from
cte
where
rn = 1
go


AMB

"Antonio Rodriguez" wrote:

Con una tabla : Codproveedor, Fechack, Numerock

Como puedo sacar el ultimo Numerock de cada Codproveedor ?

Tengo algo asi:
select Codproveedor, Max(Fechack) from tabla group by Codproveedor


Pero lo que quiero obtener son los Numerock.

Muchas gracias




Respuesta Responder a este mensaje
#8 Antonio Ortiz
24/06/2007 - 22:00 | Informe spam
:|

La primer consulta me dejo impresionado a simple vista no le entendi,
despues de examinarla unos minutos la vi muy logica, pero no se me habria
ocurrido.

Muy buen manejo de transact, felicidades. A veces simplemente veo las
consultas para aprender tecnicas/combinaciones.

saludos,

Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.progvisual.com


"Alejandro Mesa" escribió en el
mensaje news:
Hola Antonio,

select *
from dbo.t1 as a
where not exists (
select *
from dbo.t1 as b
where b.fechack > a.fechack
)
go

select a.*
from
dbo.t1 as a
inner join
(
select codproveedor, max(fechack) as max_fechack
from dbo.t1
group by codproveedor
) as b
on a.codproveedor = b.codproveedor
and a.fechack = b.max_fechack
go

select a.*
from dbo.t1 as a
where fechack = (
select top 1 fechack
from dbo.t1 as b
where b.codproveedor = a.codproveedor
order by fechack desc
)

;with cte
as
(
select
*,
rank() over(partition by codproveedor order by fechack DESC) as rn
from
dbo.t1
)
select
*
from
cte
where
rn = 1
go


AMB

"Antonio Rodriguez" wrote:

Con una tabla : Codproveedor, Fechack, Numerock

Como puedo sacar el ultimo Numerock de cada Codproveedor ?

Tengo algo asi:
select Codproveedor, Max(Fechack) from tabla group by Codproveedor


Pero lo que quiero obtener son los Numerock.

Muchas gracias




Respuesta Responder a este mensaje
#9 jcac
25/06/2007 - 07:43 | Informe spam
Simplemente sin comentarios, eres un master.

Saludos

"Alejandro Mesa" escribió en el
mensaje news:
Hola Antonio,

select *
from dbo.t1 as a
where not exists (
select *
from dbo.t1 as b
where b.fechack > a.fechack
)
go

select a.*
from
dbo.t1 as a
inner join
(
select codproveedor, max(fechack) as max_fechack
from dbo.t1
group by codproveedor
) as b
on a.codproveedor = b.codproveedor
and a.fechack = b.max_fechack
go

select a.*
from dbo.t1 as a
where fechack = (
select top 1 fechack
from dbo.t1 as b
where b.codproveedor = a.codproveedor
order by fechack desc
)

;with cte
as
(
select
*,
rank() over(partition by codproveedor order by fechack DESC) as rn
from
dbo.t1
)
select
*
from
cte
where
rn = 1
go


AMB

"Antonio Rodriguez" wrote:

Con una tabla : Codproveedor, Fechack, Numerock

Como puedo sacar el ultimo Numerock de cada Codproveedor ?

Tengo algo asi:
select Codproveedor, Max(Fechack) from tabla group by Codproveedor


Pero lo que quiero obtener son los Numerock.

Muchas gracias




Respuesta Responder a este mensaje
#10 Alejandro Mesa
25/06/2007 - 14:52 | Informe spam
Vamos hombre que no es para tanto.

Eso y mucho mas, pueden aprenderlo de los libros:

- Inside SQL Server 2005: T-SQL Querying
- Inside SQL Server 2005: T-SQL Programming
- Inside SQL Server 2005: The Storage Engine
- Inside Microsoft SQL Server 2005: Query Tuning and Optimization (no se ha
publicado aun)


AMB

"Alejandro Mesa" wrote:

Hola Antonio,

select *
from dbo.t1 as a
where not exists (
select *
from dbo.t1 as b
where b.fechack > a.fechack
)
go

select a.*
from
dbo.t1 as a
inner join
(
select codproveedor, max(fechack) as max_fechack
from dbo.t1
group by codproveedor
) as b
on a.codproveedor = b.codproveedor
and a.fechack = b.max_fechack
go

select a.*
from dbo.t1 as a
where fechack = (
select top 1 fechack
from dbo.t1 as b
where b.codproveedor = a.codproveedor
order by fechack desc
)

;with cte
as
(
select
*,
rank() over(partition by codproveedor order by fechack DESC) as rn
from
dbo.t1
)
select
*
from
cte
where
rn = 1
go


AMB

"Antonio Rodriguez" wrote:

> Con una tabla : Codproveedor, Fechack, Numerock
>
> Como puedo sacar el ultimo Numerock de cada Codproveedor ?
>
> Tengo algo asi:
> select Codproveedor, Max(Fechack) from tabla group by Codproveedor
>
>
> Pero lo que quiero obtener son los Numerock.
>
> Muchas gracias
>
>
>
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida