Consulta de acuerdo a una secuencia

07/04/2008 - 19:29 por RP | Informe spam
Hola que tal, bueno, tengo una tabla de detalle, con los sguientes datos :
codigoExp
CodigoDestino
FechaDespacho
Estado
Secuencia

Lo que necesito es cargar una grilla con esos datos, pero acá va el detalle,
necesito que me cargue todos los registros que su codigo de destino sean
igual a un codigo que ingreso, y que su secuencia sea la mayor, ojo que tiene
que cargar todos los registros, ya que si filtro por el código y la secuencia
mayor me muestra sólo un registro, lo que deseo es que me muestre todos los
registros de acuerdo a su ultima secuencia y CodDes...

Espero que hayan entendido mi interrogante... Agradezco sus respuestas

Atte.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
07/04/2008 - 20:21 | Informe spam
RP,

- Pudieras postear la estructura de la tabla?
- Que version de SQL Server usas?

;with cte
as
(
select *, row_number() over(partition by CodigoDestino order by Secuencia
DESC) as rn
from tu_tabla
where CodigoDestino = @CodigoDestino
)
select *
from cte
where rn = 1;


AMB


"RP" wrote:

Hola que tal, bueno, tengo una tabla de detalle, con los sguientes datos :
codigoExp
CodigoDestino
FechaDespacho
Estado
Secuencia

Lo que necesito es cargar una grilla con esos datos, pero acá va el detalle,
necesito que me cargue todos los registros que su codigo de destino sean
igual a un codigo que ingreso, y que su secuencia sea la mayor, ojo que tiene
que cargar todos los registros, ya que si filtro por el código y la secuencia
mayor me muestra sólo un registro, lo que deseo es que me muestre todos los
registros de acuerdo a su ultima secuencia y CodDes...

Espero que hayan entendido mi interrogante... Agradezco sus respuestas

Atte.
Respuesta Responder a este mensaje
#2 RP
07/04/2008 - 23:08 | Informe spam
Imaginemos que tengo los siguientes datos:

CodigoExp CodigoDestino FechaDespacho Secuencia Estado
1 4 07/04/2008 1 01
2 5 07/040/2008 1 01
3 4 07/04/2008 1 01
1 6 08/04/2008 2 01
2 4 08/04/2008 2 01

Lo que deseo es una secuencia que me visualice sólo los datos con la máxima
secuencia, de acuerdo al codigo, es decir supongamos para el Codigo de
Destino 4, que me visualice de esta manera, solos los registros que con el
codigo 4 pero que tengan la mayor secuencia, es decir:

CodigoExp CodigoDestino FechaDespacho Secuencia Estado
3 4 07/04/2008 1 01
2 4 08/04/2008 2 01

Tengamos en cuenta que a esta tabla se pueden ingresar registros nuevos
agrgandoles un nuevo código, pero si ya existe, con cada movimiento que se
haga, los datos se mantienen, solamente se incrementan las secuencias, eso
hace la diferencia, pero como lo hago, ya que haciendo la comparación de
acuerdo a la mayor secuencia, y el codigoDestino, sólo me arroja un dato, y
no todos los datos que necesito cargar en la grilla


"Alejandro Mesa" wrote:

RP,

- Pudieras postear la estructura de la tabla?
- Que version de SQL Server usas?

;with cte
as
(
select *, row_number() over(partition by CodigoDestino order by Secuencia
DESC) as rn
from tu_tabla
where CodigoDestino = @CodigoDestino
)
select *
from cte
where rn = 1;


AMB


"RP" wrote:

> Hola que tal, bueno, tengo una tabla de detalle, con los sguientes datos :
> codigoExp
> CodigoDestino
> FechaDespacho
> Estado
> Secuencia
>
> Lo que necesito es cargar una grilla con esos datos, pero acá va el detalle,
> necesito que me cargue todos los registros que su codigo de destino sean
> igual a un codigo que ingreso, y que su secuencia sea la mayor, ojo que tiene
> que cargar todos los registros, ya que si filtro por el código y la secuencia
> mayor me muestra sólo un registro, lo que deseo es que me muestre todos los
> registros de acuerdo a su ultima secuencia y CodDes...
>
> Espero que hayan entendido mi interrogante... Agradezco sus respuestas
>
> Atte.
Respuesta Responder a este mensaje
#3 Alejandro Mesa
07/04/2008 - 23:53 | Informe spam
Trata:

;with cte
as
(
select
*,
row_number() over(partition by Secuencia order by FechaDespacho DESC) as
rn
from
tu_tabla
where
CodigoDestino = @CodigoDestino
)
select *
from cte
where rn = 1;


AMB


"RP" wrote:

Imaginemos que tengo los siguientes datos:

CodigoExp CodigoDestino FechaDespacho Secuencia Estado
1 4 07/04/2008 1 01
2 5 07/040/2008 1 01
3 4 07/04/2008 1 01
1 6 08/04/2008 2 01
2 4 08/04/2008 2 01

Lo que deseo es una secuencia que me visualice sólo los datos con la máxima
secuencia, de acuerdo al codigo, es decir supongamos para el Codigo de
Destino 4, que me visualice de esta manera, solos los registros que con el
codigo 4 pero que tengan la mayor secuencia, es decir:

CodigoExp CodigoDestino FechaDespacho Secuencia Estado
3 4 07/04/2008 1 01
2 4 08/04/2008 2 01

Tengamos en cuenta que a esta tabla se pueden ingresar registros nuevos
agrgandoles un nuevo código, pero si ya existe, con cada movimiento que se
haga, los datos se mantienen, solamente se incrementan las secuencias, eso
hace la diferencia, pero como lo hago, ya que haciendo la comparación de
acuerdo a la mayor secuencia, y el codigoDestino, sólo me arroja un dato, y
no todos los datos que necesito cargar en la grilla


"Alejandro Mesa" wrote:

> RP,
>
> - Pudieras postear la estructura de la tabla?
> - Que version de SQL Server usas?
>
> ;with cte
> as
> (
> select *, row_number() over(partition by CodigoDestino order by Secuencia
> DESC) as rn
> from tu_tabla
> where CodigoDestino = @CodigoDestino
> )
> select *
> from cte
> where rn = 1;
>
>
> AMB
>
>
> "RP" wrote:
>
> > Hola que tal, bueno, tengo una tabla de detalle, con los sguientes datos :
> > codigoExp
> > CodigoDestino
> > FechaDespacho
> > Estado
> > Secuencia
> >
> > Lo que necesito es cargar una grilla con esos datos, pero acá va el detalle,
> > necesito que me cargue todos los registros que su codigo de destino sean
> > igual a un codigo que ingreso, y que su secuencia sea la mayor, ojo que tiene
> > que cargar todos los registros, ya que si filtro por el código y la secuencia
> > mayor me muestra sólo un registro, lo que deseo es que me muestre todos los
> > registros de acuerdo a su ultima secuencia y CodDes...
> >
> > Espero que hayan entendido mi interrogante... Agradezco sus respuestas
> >
> > Atte.
Respuesta Responder a este mensaje
#4 RP
08/04/2008 - 01:08 | Informe spam
No podrías ponermelo como una sentencia, es que no soy muy bueno con los
procedimientos almacenados :S, claro si no es mucho pedir

"Alejandro Mesa" wrote:

Trata:

;with cte
as
(
select
*,
row_number() over(partition by Secuencia order by FechaDespacho DESC) as
rn
from
tu_tabla
where
CodigoDestino = @CodigoDestino
)
select *
from cte
where rn = 1;


AMB


"RP" wrote:

> Imaginemos que tengo los siguientes datos:
>
> CodigoExp CodigoDestino FechaDespacho Secuencia Estado
> 1 4 07/04/2008 1 01
> 2 5 07/040/2008 1 01
> 3 4 07/04/2008 1 01
> 1 6 08/04/2008 2 01
> 2 4 08/04/2008 2 01
>
> Lo que deseo es una secuencia que me visualice sólo los datos con la máxima
> secuencia, de acuerdo al codigo, es decir supongamos para el Codigo de
> Destino 4, que me visualice de esta manera, solos los registros que con el
> codigo 4 pero que tengan la mayor secuencia, es decir:
>
> CodigoExp CodigoDestino FechaDespacho Secuencia Estado
> 3 4 07/04/2008 1 01
> 2 4 08/04/2008 2 01
>
> Tengamos en cuenta que a esta tabla se pueden ingresar registros nuevos
> agrgandoles un nuevo código, pero si ya existe, con cada movimiento que se
> haga, los datos se mantienen, solamente se incrementan las secuencias, eso
> hace la diferencia, pero como lo hago, ya que haciendo la comparación de
> acuerdo a la mayor secuencia, y el codigoDestino, sólo me arroja un dato, y
> no todos los datos que necesito cargar en la grilla
>
>
> "Alejandro Mesa" wrote:
>
> > RP,
> >
> > - Pudieras postear la estructura de la tabla?
> > - Que version de SQL Server usas?
> >
> > ;with cte
> > as
> > (
> > select *, row_number() over(partition by CodigoDestino order by Secuencia
> > DESC) as rn
> > from tu_tabla
> > where CodigoDestino = @CodigoDestino
> > )
> > select *
> > from cte
> > where rn = 1;
> >
> >
> > AMB
> >
> >
> > "RP" wrote:
> >
> > > Hola que tal, bueno, tengo una tabla de detalle, con los sguientes datos :
> > > codigoExp
> > > CodigoDestino
> > > FechaDespacho
> > > Estado
> > > Secuencia
> > >
> > > Lo que necesito es cargar una grilla con esos datos, pero acá va el detalle,
> > > necesito que me cargue todos los registros que su codigo de destino sean
> > > igual a un codigo que ingreso, y que su secuencia sea la mayor, ojo que tiene
> > > que cargar todos los registros, ya que si filtro por el código y la secuencia
> > > mayor me muestra sólo un registro, lo que deseo es que me muestre todos los
> > > registros de acuerdo a su ultima secuencia y CodDes...
> > >
> > > Espero que hayan entendido mi interrogante... Agradezco sus respuestas
> > >
> > > Atte.
Respuesta Responder a este mensaje
#5 Maxi Accotto
08/04/2008 - 02:18 | Informe spam
Hola y con el permiso de Ale, y quien te dijo que lo que escribio es un SP?
lo que escribio Ale son sentencias TSQL 2005


Microsoft MVP SQLServer
www.sqltotalconsulting.com
-

"RP" escribió en el mensaje de
noticias:
No podrías ponermelo como una sentencia, es que no soy muy bueno con los
procedimientos almacenados :S, claro si no es mucho pedir

"Alejandro Mesa" wrote:

Trata:

;with cte
as
(
select
*,
row_number() over(partition by Secuencia order by FechaDespacho DESC)
as
rn
from
tu_tabla
where
CodigoDestino = @CodigoDestino
)
select *
from cte
where rn = 1;


AMB


"RP" wrote:

> Imaginemos que tengo los siguientes datos:
>
> CodigoExp CodigoDestino FechaDespacho Secuencia Estado
> 1 4 07/04/2008 1
> 01
> 2 5 07/040/2008 1
> 01
> 3 4 07/04/2008 1
> 01
> 1 6 08/04/2008 2
> 01
> 2 4 08/04/2008 2
> 01
>
> Lo que deseo es una secuencia que me visualice sólo los datos con la
> máxima
> secuencia, de acuerdo al codigo, es decir supongamos para el Codigo de
> Destino 4, que me visualice de esta manera, solos los registros que
> con el
> codigo 4 pero que tengan la mayor secuencia, es decir:
>
> CodigoExp CodigoDestino FechaDespacho Secuencia Estado
> 3 4 07/04/2008 1
> 01
> 2 4 08/04/2008 2
> 01
>
> Tengamos en cuenta que a esta tabla se pueden ingresar registros nuevos
> agrgandoles un nuevo código, pero si ya existe, con cada movimiento que
> se
> haga, los datos se mantienen, solamente se incrementan las secuencias,
> eso
> hace la diferencia, pero como lo hago, ya que haciendo la comparación
> de
> acuerdo a la mayor secuencia, y el codigoDestino, sólo me arroja un
> dato, y
> no todos los datos que necesito cargar en la grilla
>
>
> "Alejandro Mesa" wrote:
>
> > RP,
> >
> > - Pudieras postear la estructura de la tabla?
> > - Que version de SQL Server usas?
> >
> > ;with cte
> > as
> > (
> > select *, row_number() over(partition by CodigoDestino order by
> > Secuencia
> > DESC) as rn
> > from tu_tabla
> > where CodigoDestino = @CodigoDestino
> > )
> > select *
> > from cte
> > where rn = 1;
> >
> >
> > AMB
> >
> >
> > "RP" wrote:
> >
> > > Hola que tal, bueno, tengo una tabla de detalle, con los sguientes
> > > datos :
> > > codigoExp
> > > CodigoDestino
> > > FechaDespacho
> > > Estado
> > > Secuencia
> > >
> > > Lo que necesito es cargar una grilla con esos datos, pero acá va el
> > > detalle,
> > > necesito que me cargue todos los registros que su codigo de destino
> > > sean
> > > igual a un codigo que ingreso, y que su secuencia sea la mayor, ojo
> > > que tiene
> > > que cargar todos los registros, ya que si filtro por el código y la
> > > secuencia
> > > mayor me muestra sólo un registro, lo que deseo es que me muestre
> > > todos los
> > > registros de acuerdo a su ultima secuencia y CodDes...
> > >
> > > Espero que hayan entendido mi interrogante... Agradezco sus
> > > respuestas
> > >
> > > Atte.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida