select que no me sale

04/05/2008 - 18:48 por Javi 3D .Net | Informe spam
tabla (idalgo, cualidad) clave idalgo,cualidad.

selecionar los idalgo que tengan las mismas cualidades

Preguntas similare

Leer las respuestas

#6 Javi 3D .Net
06/05/2008 - 08:58 | Informe spam
On 5 mayo, 20:32, Alejandro Mesa
wrote:
Javi 3D .Net,

Cambia el tipo de union, usa LEFT OUTER en vez de INNER.

select
    a.idalgo
from
    t1 as a left join @cualidades as b
    on a.cualidadid = b.cualidadid
group by
    a.idalgo
having
    count(distinct a.cualidadid) = (select count(*) from @cualidades)

AMB



"Javi 3D .Net" wrote:
> On 5 mayo, 15:31, Alejandro Mesa
> wrote:
> > Que tal si usamos un conjunto de cualidades como referencia?

> > declare @cualidades (cualidadid int not null unique)

> > insert into @cualidades(cualidadid) values(1)
> > insert into @cualidades(cualidadid) values(4)
> > insert into @cualidades(cualidadid) values(7)

> > select a.idalgo
> > from t1 as a inner join @cualidades as b
> > on a.cualidadid = b.cualidadid
> > group by a.idalgo
> > having count(distinct a.cualidadid) = (select count(*) from @cualidades)

> > AMB

> > "Javi 3D .Net" wrote:
> > > tabla (idalgo, cualidad) clave idalgo,cualidad.

> > > selecionar los idalgo que tengan las mismas cualidades- Ocultar texto de la cita -

> > - Mostrar texto de la cita -

> Bien, si fuera  el mismo numero de cualidades. Pero lo que quiero es
> las mismas ademas.

> es decir
> 1,una
> 1,dos
> 1,tres
> 2,una
> 3,una
> 4,dos

> La select devolveria 2y3- Ocultar texto de la cita -

- Mostrar texto de la cita -



Esta no es la idea. No le paso nada como parametro es sobre la misma
tabla.
Respuesta Responder a este mensaje
#7 Alejandro Mesa
06/05/2008 - 14:58 | Informe spam
Javi 3D .Net,

Me parece que tendras que hacerlo fila por fila.


AMB

"Javi 3D .Net" wrote:

On 5 mayo, 20:32, Alejandro Mesa
wrote:
> Javi 3D .Net,
>
> Cambia el tipo de union, usa LEFT OUTER en vez de INNER.
>
> select
> a.idalgo
> from
> t1 as a left join @cualidades as b
> on a.cualidadid = b.cualidadid
> group by
> a.idalgo
> having
> count(distinct a.cualidadid) = (select count(*) from @cualidades)
>
> AMB
>
>
>
> "Javi 3D .Net" wrote:
> > On 5 mayo, 15:31, Alejandro Mesa
> > wrote:
> > > Que tal si usamos un conjunto de cualidades como referencia?
>
> > > declare @cualidades (cualidadid int not null unique)
>
> > > insert into @cualidades(cualidadid) values(1)
> > > insert into @cualidades(cualidadid) values(4)
> > > insert into @cualidades(cualidadid) values(7)
>
> > > select a.idalgo
> > > from t1 as a inner join @cualidades as b
> > > on a.cualidadid = b.cualidadid
> > > group by a.idalgo
> > > having count(distinct a.cualidadid) = (select count(*) from @cualidades)
>
> > > AMB
>
> > > "Javi 3D .Net" wrote:
> > > > tabla (idalgo, cualidad) clave idalgo,cualidad.
>
> > > > selecionar los idalgo que tengan las mismas cualidades- Ocultar texto de la cita -
>
> > > - Mostrar texto de la cita -
>
> > Bien, si fuera el mismo numero de cualidades. Pero lo que quiero es
> > las mismas ademas.
>
> > es decir
> > 1,una
> > 1,dos
> > 1,tres
> > 2,una
> > 3,una
> > 4,dos
>
> > La select devolveria 2y3- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Esta no es la idea. No le paso nada como parametro es sobre la misma
tabla.

Respuesta Responder a este mensaje
#8 Javi 3D .Net
07/05/2008 - 10:47 | Informe spam
On 6 mayo, 14:58, Alejandro Mesa
wrote:
Javi 3D .Net,

Me parece que tendras que hacerlo fila por fila.

AMB



"Javi 3D .Net" wrote:
> On 5 mayo, 20:32, Alejandro Mesa
> wrote:
> > Javi 3D .Net,

> > Cambia el tipo de union, usa LEFT OUTER en vez de INNER.

> > select
> >     a.idalgo
> > from
> >     t1 as a left join @cualidades as b
> >     on a.cualidadid = b.cualidadid
> > group by
> >     a.idalgo
> > having
> >     count(distinct a.cualidadid) = (select count(*) from @cualidades)

> > AMB

> > "Javi 3D .Net" wrote:
> > > On 5 mayo, 15:31, Alejandro Mesa
> > > wrote:
> > > > Que tal si usamos un conjunto de cualidades como referencia?

> > > > declare @cualidades (cualidadid int not null unique)

> > > > insert into @cualidades(cualidadid) values(1)
> > > > insert into @cualidades(cualidadid) values(4)
> > > > insert into @cualidades(cualidadid) values(7)

> > > > select a.idalgo
> > > > from t1 as a inner join @cualidades as b
> > > > on a.cualidadid = b.cualidadid
> > > > group by a.idalgo
> > > > having count(distinct a.cualidadid) = (select count(*) from @cualidades)

> > > > AMB

> > > > "Javi 3D .Net" wrote:
> > > > > tabla (idalgo, cualidad) clave idalgo,cualidad.

> > > > > selecionar los idalgo que tengan las mismas cualidades- Ocultar texto de la cita -

> > > > - Mostrar texto de la cita -

> > > Bien, si fuera  el mismo numero de cualidades. Pero lo que quiero es
> > > las mismas ademas.

> > > es decir
> > > 1,una
> > > 1,dos
> > > 1,tres
> > > 2,una
> > > 3,una
> > > 4,dos

> > > La select devolveria 2y3- Ocultar texto de la cita -

> > - Mostrar texto de la cita -

> Esta no es la idea. No le paso nada como parametro es sobre la misma
> tabla.- Ocultar texto de la cita -

- Mostrar texto de la cita -



Teoricamente se me ocurre esto:

Select distinct t1.id, t2.id
from algos t1, algos t2
where t1.id < t2.id and
(t1.id,t2.id) not exists (select t3.id, t4.id
from algos t3, algos t4
where t3.id <> t4.id and
(t3.valor not in (select t5.valor from algos t5 where t4.id t5.id)
or t4.valor not in (select t6.valor from algos t6 where t3.id t6.id)))


Pero no compilo la pareja (t1.id,t2.id) creo que en oracle se
puede no se.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida