Como realizo esta vista

08/04/2008 - 16:14 por RP | Informe spam
Hola que tal, tengo las siguientes tablas: detalle (codexp, coddes, dfecha,
obs)
expediente (codigo, exp, tipexp, codper, origen, asunto)
grado (codigo, abrev)
oficina (codigo, nombre)
personal (codigo, nombre, apellido, materno, codgra, codofi)

y lo que deseo es visualizar una grilla, pero imaginemos que tengo los
siguientes datos:

Tipo CodigoExp Expediente FechaDespacho Secuencia Estado
I 1 000001 07/04/2008 1 01
I 2 000002 07/04/2008 1 01
I 3 000003 07/04/2008 1 01
I 1 000001 08/04/2008 2 01
I 2 000002 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:

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

Para ello utilizo la siguiente sentencia:

select e.codigo, e.tipexp As TipExp, e.exp As Expediente, e.origen As
Origen, o.nombre As Procedencia, (g.Abrev + ' ' + p.nombre + ' ' +
p.apellido + ' ' + p.materno) As Remite, e.asunto As Asunto, d.dfecha As
Fecha, d.obs As observacion
from detalle d, expediente e, grado g, oficina o, personal p
WHERE o.codigo=e.origen And e.origen=p.codofi And e.exp=d.codexp And
d.coddes=4
And e.codper=p.codigo And g.codigo=p.codgra

como hago para que me capture de acuerdo a la max(secuencia), ya que si
pongo eso, solamente me arroja un solo registro, y lo que deseo es que me
muestre todos los registros cuya oficina de destino es la 4, de siguiendo la
ultima secuencia

Preguntas similare

Leer las respuestas

#1 Alfredo Novoa
08/04/2008 - 16:56 | Informe spam
Hola,

On Tue, 8 Apr 2008 07:14:00 -0700, RP
wrote:

y lo que deseo es visualizar una grilla, pero imaginemos que tengo los
siguientes datos:

Tipo CodigoExp Expediente FechaDespacho Secuencia Estado
I 1 000001 07/04/2008 1 01
I 2 000002 07/04/2008 1 01
I 3 000003 07/04/2008 1 01
I 1 000001 08/04/2008 2 01
I 2 000002 08/04/2008 2 01

Lo que deseo es una secuencia que me visualice sólo los datos con la máxima
secuencia



De lo de visualizar un grillo hembra ni idea :-), pero para lo otro
puedes usar ROW_NUMBER() o RANK.


Saludos
Alfredo
Respuesta Responder a este mensaje
#2 RP
08/04/2008 - 19:32 | Informe spam
OK, pero como lo aplico en mi sentencia de SQL, es decir como incorporo el
ROW_NUMBER() o RANK en mi sentencia

"Alfredo Novoa" wrote:


Hola,

On Tue, 8 Apr 2008 07:14:00 -0700, RP
wrote:

>y lo que deseo es visualizar una grilla, pero imaginemos que tengo los
>siguientes datos:
>
>Tipo CodigoExp Expediente FechaDespacho Secuencia Estado
> I 1 000001 07/04/2008 1 01
> I 2 000002 07/04/2008 1 01
> I 3 000003 07/04/2008 1 01
> I 1 000001 08/04/2008 2 01
> I 2 000002 08/04/2008 2 01
>
>Lo que deseo es una secuencia que me visualice sólo los datos con la máxima
>secuencia

De lo de visualizar un grillo hembra ni idea :-), pero para lo otro
puedes usar ROW_NUMBER() o RANK.


Saludos
Alfredo

Respuesta Responder a este mensaje
#3 RP
08/04/2008 - 21:37 | Informe spam
Que nadie me puede dar una respuesta que no se me haga tan dificil, soy medio
novato, y mas me están perdiendo :(

"RP" wrote:

Hola que tal, tengo las siguientes tablas: detalle (codexp, coddes, dfecha,
obs)
expediente (codigo, exp, tipexp, codper, origen, asunto)
grado (codigo, abrev)
oficina (codigo, nombre)
personal (codigo, nombre, apellido, materno, codgra, codofi)

y lo que deseo es visualizar una grilla, pero imaginemos que tengo los
siguientes datos:

Tipo CodigoExp Expediente FechaDespacho Secuencia Estado
I 1 000001 07/04/2008 1 01
I 2 000002 07/04/2008 1 01
I 3 000003 07/04/2008 1 01
I 1 000001 08/04/2008 2 01
I 2 000002 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:

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

Para ello utilizo la siguiente sentencia:

select e.codigo, e.tipexp As TipExp, e.exp As Expediente, e.origen As
Origen, o.nombre As Procedencia, (g.Abrev + ' ' + p.nombre + ' ' +
p.apellido + ' ' + p.materno) As Remite, e.asunto As Asunto, d.dfecha As
Fecha, d.obs As observacion
from detalle d, expediente e, grado g, oficina o, personal p
WHERE o.codigo=e.origen And e.origen=p.codofi And e.exp=d.codexp And
d.coddes=4
And e.codper=p.codigo And g.codigo=p.codgra

como hago para que me capture de acuerdo a la max(secuencia), ya que si
pongo eso, solamente me arroja un solo registro, y lo que deseo es que me
muestre todos los registros cuya oficina de destino es la 4, de siguiendo la
ultima secuencia

Respuesta Responder a este mensaje
#4 Alfredo Novoa
09/04/2008 - 10:51 | Informe spam
On Tue, 8 Apr 2008 10:32:02 -0700, RP
wrote:

OK, pero como lo aplico en mi sentencia de SQL, es decir como incorporo el
ROW_NUMBER() o RANK en mi sentencia



Pues con mucho cuidado :-)

Primero te lees la documentación y luego lo aplicas.

Te acaban de poner un ejemplo muy parecido en otro hilo. Aquí se hace
igual.


Saludos
Alfredo
Respuesta Responder a este mensaje
#5 RP
09/04/2008 - 13:51 | Informe spam
Ya lo hice, pero igual me arroja solo un resultado, y yo deseo que me muestre
todos los que cumplen el requisito, no sólo uno...

"Alfredo Novoa" wrote:

On Tue, 8 Apr 2008 10:32:02 -0700, RP
wrote:

>OK, pero como lo aplico en mi sentencia de SQL, es decir como incorporo el
>ROW_NUMBER() o RANK en mi sentencia

Pues con mucho cuidado :-)

Primero te lees la documentación y luego lo aplicas.

Te acaban de poner un ejemplo muy parecido en otro hilo. Aquí se hace
igual.


Saludos
Alfredo


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida