Consulta

20/06/2006 - 13:49 por swricardo | Informe spam
Necesito los registros de la primera fila, el que tenga
el valor nulo, el segundo si bien tiene un valor nulo, tiene la misma
descripcion que el 3° registro que no es nulo. la descripcion es el unico
valor que no cambia, porq los otros dos son clave primaria.


NroEmp Operación Descripcion Agente
1 1 XXX null
1 2 YYY null
1 3 YYY AAA

Esta tabla a la vez esta relacionada con una tabla mas que necesito
agregar en el where.
Como podria resolverlo?

Gracias, Ricardo

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
20/06/2006 - 14:11 | Informe spam
Trata:

select NroEmp, Operación, Descripcion, max(Agente)
from t1
group by NroEmp, Operación, Descripcion
having max(Agente) is null
go


AMB

"ricardo" wrote:

Necesito los registros de la primera fila, el que tenga
el valor nulo, el segundo si bien tiene un valor nulo, tiene la misma
descripcion que el 3° registro que no es nulo. la descripcion es el unico
valor que no cambia, porq los otros dos son clave primaria.


NroEmp Operación Descripcion Agente
1 1 XXX null
1 2 YYY null
1 3 YYY AAA

Esta tabla a la vez esta relacionada con una tabla mas que necesito
agregar en el where.
Como podria resolverlo?

Gracias, Ricardo



Respuesta Responder a este mensaje
#2 swricardo
20/06/2006 - 15:38 | Informe spam
Alejandro,

Gracias, por tu respuesta, me trae los registros que estan en nulo y los
que no, yo probe con esta consulta que si funciona pero no puedo agregarle
la otra tabla que necesito para el where, sabes como puedo hacer para
agregar otra tabla a la consulta?

Select tabla1.* from (select * from tabla where agente is null) tabla1
where description not in (select descripcion where agente is not null)

Gracias,
Ricardo

Alejandro Mesa wrote:

Trata:

select NroEmp, Operación, Descripcion, max(Agente)
from t1
group by NroEmp, Operación, Descripcion
having max(Agente) is null
go


AMB

"ricardo" wrote:

> Necesito los registros de la primera fila, el que tenga
> el valor nulo, el segundo si bien tiene un valor nulo, tiene la misma
> descripcion que el 3° registro que no es nulo. la descripcion es el unico
> valor que no cambia, porq los otros dos son clave primaria.
>
>
> NroEmp Operación Descripcion Agente
> 1 1 XXX null
> 1 2 YYY null
> 1 3 YYY AAA
>
> Esta tabla a la vez esta relacionada con una tabla mas que necesito
> agregar en el where.
> Como podria resolverlo?
>
> Gracias, Ricardo
>
>
>
Respuesta Responder a este mensaje
#3 Alejandro Mesa
20/06/2006 - 16:09 | Informe spam
Ricardo,

Gracias, por tu respuesta, me trae los registros que estan en nulo y los
que no,



Tienes toda la razon. estoy usando la columna [Operacion] como parte del
grouping y eso hace que los resultados no sean los esperados.

que no, yo probe con esta consulta que si funciona pero no puedo agregarle
la otra tabla que necesito para el where, sabes como puedo hacer para
agregar otra tabla a la consulta?



Que quieres hacer con la otra tabla?

Ademas de describir lo que desas hacer, si puedes pon un par de datos de
ejemplo y cuales son los resultados esperados.

use northwind
go

create table t1 (
NroEmp int,
Operacion int,
Descripcion varchar(50),
Agente varchar(15)
)
go

insert into t1 values(1, 1, 'XXX', null)
insert into t1 values(1, 2, 'YYY', null)
insert into t1 values(1, 3, 'YYY', 'AAA')
go

select *
from t1
where
Agente is null
and not exists (
select *
from t1 as t2
where t2.NroEmp = t1.NroEmp and t2.Descripcion = t1.Descripcion and
t2.Agente is not null
)
go

drop table t1
go


AMB

"Ricardo" wrote:

Alejandro,

Gracias, por tu respuesta, me trae los registros que estan en nulo y los
que no, yo probe con esta consulta que si funciona pero no puedo agregarle
la otra tabla que necesito para el where, sabes como puedo hacer para
agregar otra tabla a la consulta?

Select tabla1.* from (select * from tabla where agente is null) tabla1
where description not in (select descripcion where agente is not null)

Gracias,
Ricardo

Alejandro Mesa wrote:

> Trata:

> select NroEmp, Operación, Descripcion, max(Agente)
> from t1
> group by NroEmp, Operación, Descripcion
> having max(Agente) is null
> go


> AMB

> "ricardo" wrote:

> > Necesito los registros de la primera fila, el que tenga
> > el valor nulo, el segundo si bien tiene un valor nulo, tiene la misma
> > descripcion que el 3° registro que no es nulo. la descripcion es el unico
> > valor que no cambia, porq los otros dos son clave primaria.
> >
> >
> > NroEmp Operación Descripcion Agente
> > 1 1 XXX null
> > 1 2 YYY null
> > 1 3 YYY AAA
> >
> > Esta tabla a la vez esta relacionada con una tabla mas que necesito
> > agregar en el where.
> > Como podria resolverlo?
> >
> > Gracias, Ricardo
> >
> >
> >



Respuesta Responder a este mensaje
#4 swricardo
20/06/2006 - 16:38 | Informe spam
Necesitaria una consulta para saber cuales son los registros que estan
solamente con valor nulo en un campo, cuando el estado sea 2 en la T2.

las tablas son asi:
t1
NroEmp Operacion Descripcion Agente
1 1 XXX null
1 2 YYY null
1 3 YYY AAA

t2
NroEmp Estado
1 1
1 2
1 3

El unico valor que se repite en T1, es el campo Descripcion

Probe poner esta consulta pero no me trae los resultados de los que solo
estan en nulo sin otra desc.

Select * from t1 inner join t2 on nroemp = nroemp where agente is null and
descripcion not in (select * from t1 where asgente is not null)
select *


Alejandro Mesa wrote:

Ricardo,

> Gracias, por tu respuesta, me trae los registros que estan en nulo y los
> que no,

Tienes toda la razon. estoy usando la columna [Operacion] como parte del
grouping y eso hace que los resultados no sean los esperados.

> que no, yo probe con esta consulta que si funciona pero no puedo agregarle
> la otra tabla que necesito para el where, sabes como puedo hacer para
> agregar otra tabla a la consulta?

Que quieres hacer con la otra tabla?

Ademas de describir lo que desas hacer, si puedes pon un par de datos de
ejemplo y cuales son los resultados esperados.

use northwind
go

create table t1 (
NroEmp int,
Operacion int,
Descripcion varchar(50),
Agente varchar(15)
)
go

insert into t1 values(1, 1, 'XXX', null)
insert into t1 values(1, 2, 'YYY', null)
insert into t1 values(1, 3, 'YYY', 'AAA')
go

select *
from t1
where
Agente is null
and not exists (
select *
from t1 as t2
where t2.NroEmp = t1.NroEmp and t2.Descripcion = t1.Descripcion and
t2.Agente is not null
)
go

drop table t1
go


AMB

"Ricardo" wrote:

> Alejandro,
>
> Gracias, por tu respuesta, me trae los registros que estan en nulo y los
> que no, yo probe con esta consulta que si funciona pero no puedo agregarle
> la otra tabla que necesito para el where, sabes como puedo hacer para
> agregar otra tabla a la consulta?
>
> Select tabla1.* from (select * from tabla where agente is null) tabla1
> where description not in (select descripcion where agente is not null)
>
> Gracias,
> Ricardo
>
> Alejandro Mesa wrote:
>
> > Trata:
>
> > select NroEmp, OperaciàƒÂ³n, Descripcion, max(Agente)
> > from t1
> > group by NroEmp, OperaciàƒÂ³n, Descripcion
> > having max(Agente) is null
> > go
>
>
> > AMB
>
> > "ricardo" wrote:
>
> > > Necesito los registros de la primera fila, el que tenga
> > > el valor nulo, el segundo si bien tiene un valor nulo, tiene la misma
> > > descripcion que el 3à‚° registro que no es nulo. la descripcion es el


unico
> > > valor que no cambia, porq los otros dos son clave primaria.
> > >
> > >
> > > NroEmp OperaciàƒÂ³n Descripcion Agente
> > > 1 1 XXX null
> > > 1 2 YYY null
> > > 1 3 YYY AAA
> > >
> > > Esta tabla a la vez esta relacionada con una tabla mas que necesito
> > > agregar en el where.
> > > Como podria resolverlo?
> > >
> > > Gracias, Ricardo
> > >
> > >
> > >
>
>
>
Respuesta Responder a este mensaje
#5 Alejandro Mesa
20/06/2006 - 19:14 | Informe spam
Ricardo,

select
*
from
tabla1 as t1
where
Agente is null
and not exists (
select
*
from
tabla1 as t2
where
t2.NroEmp = t1.NroEmp and t2.Descripcion = t1.Descripcion and t2.Agente is
not null
)
and exists (
select
*
from
tabla2 as t3
where
t3.NroEmp = t1.NroEmp and t3.Estado = 2
)
go


AMB

"ricardo" wrote:

Necesitaria una consulta para saber cuales son los registros que estan
solamente con valor nulo en un campo, cuando el estado sea 2 en la T2.

las tablas son asi:
t1
NroEmp Operacion Descripcion Agente
1 1 XXX null
1 2 YYY null
1 3 YYY AAA

t2
NroEmp Estado
1 1
1 2
1 3

El unico valor que se repite en T1, es el campo Descripcion

Probe poner esta consulta pero no me trae los resultados de los que solo
estan en nulo sin otra desc.

Select * from t1 inner join t2 on nroemp = nroemp where agente is null and
descripcion not in (select * from t1 where asgente is not null)
select *


Alejandro Mesa wrote:

> Ricardo,

> > Gracias, por tu respuesta, me trae los registros que estan en nulo y los
> > que no,

> Tienes toda la razon. estoy usando la columna [Operacion] como parte del
> grouping y eso hace que los resultados no sean los esperados.

> > que no, yo probe con esta consulta que si funciona pero no puedo agregarle
> > la otra tabla que necesito para el where, sabes como puedo hacer para
> > agregar otra tabla a la consulta?

> Que quieres hacer con la otra tabla?

> Ademas de describir lo que desas hacer, si puedes pon un par de datos de
> ejemplo y cuales son los resultados esperados.

> use northwind
> go

> create table t1 (
> NroEmp int,
> Operacion int,
> Descripcion varchar(50),
> Agente varchar(15)
> )
> go

> insert into t1 values(1, 1, 'XXX', null)
> insert into t1 values(1, 2, 'YYY', null)
> insert into t1 values(1, 3, 'YYY', 'AAA')
> go

> select *
> from t1
> where
> Agente is null
> and not exists (
> select *
> from t1 as t2
> where t2.NroEmp = t1.NroEmp and t2.Descripcion = t1.Descripcion and
> t2.Agente is not null
> )
> go

> drop table t1
> go


> AMB

> "Ricardo" wrote:

> > Alejandro,
> >
> > Gracias, por tu respuesta, me trae los registros que estan en nulo y los
> > que no, yo probe con esta consulta que si funciona pero no puedo agregarle
> > la otra tabla que necesito para el where, sabes como puedo hacer para
> > agregar otra tabla a la consulta?
> >
> > Select tabla1.* from (select * from tabla where agente is null) tabla1
> > where description not in (select descripcion where agente is not null)
> >
> > Gracias,
> > Ricardo
> >
> > Alejandro Mesa wrote:
> >
> > > Trata:
> >
> > > select NroEmp, OperaciàƒÂ³n, Descripcion, max(Agente)
> > > from t1
> > > group by NroEmp, OperaciàƒÂ³n, Descripcion
> > > having max(Agente) is null
> > > go
> >
> >
> > > AMB
> >
> > > "ricardo" wrote:
> >
> > > > Necesito los registros de la primera fila, el que tenga
> > > > el valor nulo, el segundo si bien tiene un valor nulo, tiene la misma
> > > > descripcion que el 3à‚° registro que no es nulo. la descripcion es el
unico
> > > > valor que no cambia, porq los otros dos son clave primaria.
> > > >
> > > >
> > > > NroEmp OperaciàƒÂ³n Descripcion Agente
> > > > 1 1 XXX null
> > > > 1 2 YYY null
> > > > 1 3 YYY AAA
> > > >
> > > > Esta tabla a la vez esta relacionada con una tabla mas que necesito
> > > > agregar en el where.
> > > > Como podria resolverlo?
> > > >
> > > > Gracias, Ricardo
> > > >
> > > >
> > > >
> >
> >
> >



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