From: | Luis Rodrigo Gallardo Cruz <rodrigo(at)nul-unu(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Duda de SQL |
Date: | 2007-01-10 00:39:18 |
Message-ID: | 20070110003918.GJ2609@caribdis.nul-unu.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Dada la siguiente estructura (simplificada):
create table Valuacion (int id);
create table Vale(int id_valuacion, int estado, otras_cosas);
Si quiero 'las valuaciones que tienen por lo menos un vale en estado
n', ¿cual de las siguientes parece más recomendable?
select distinct v.id from Valuacion v where v.id in
(select va.id_vale from Vale va where va.estado = n);
o
select distinct v.id from Valuacion v where n in
(select va.estado from Vale va where va.id_valuacion = v.id);
¿En que me fijo para elegir una sobre otra? ¿Hay algo más simple?
Siento que estoy matando moscas a cañonazos al usar un subselect para
pregunta tan sencilla.
(Puntos extra: En realidad estoy haciendo las consultas via
Hibernate. Si alguien lo conoce, ¿se le ocurre como traducir la
primera a HQL, dado que Vale se ve como una propiedad Set de
Valuacion?)
--
Rodrigo Gallardo
GPG-Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28
Zenophobia: the irrational fear of convergent sequences.
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-01-10 03:17:38 | Re: ctid |
Previous Message | Jenaro Centeno Gómez | 2007-01-09 23:57:59 | Re: DESCONECTAR USUARIOS DESDE EL FRONT |