"Poul-Erik" == Poul-Erik Andreasen <poulerik@pea.dk> writes:
Jeg svarer lige jer begge her.
> Nikolaj Hansen wrote:
>> Anders Wegge Jakobsen wrote:
>>
>>> Jeg har en simpel database af typen
>>>
>>> Key |Value
>>> ---------|--------
>>> k1 |Bar
>>> k1 |Baz
>>> k1 |Bar
>>> k2 |Bar
>>> k2 |Bar
>>> k3 |Foo
>>> k3 |Bar
>> select key from <tabel> where value='bar' group by key;
>> Måske misforstår jeg noget?
> Det tror jeg; han ved ikke at det er værdie bar han er er
> interesseret i.
Jo, jeg ved at det er bar (og et par andre kendte værdier) jeg er ude
efter.
> Grunden til at det er den han leder efter er at det er den eneste
> der har samme value. k1 har både bar og baz, k3 har både foo og
> bar, mens k2 kun har bar
> Men du har ret i at indexseringen ikke blier god, noget siger mig at
> Anders ikke har en normaliseret database;
Det var en one-off undersøgelse, så det er fuldstændigt korrekt at
databasen ikke er normaliseret i forhold til dette opslag.
> Det må blive en eller anden aggregeret function
Jeg endte med at bruge et par midlertidige tabeller:
insert into tmp1 select (key, count(key)) from tbl where Value = bar
group by key;
insert into tmp2 select (key, count(key)) from tbl group by key;
select tmp1.key from tmp1 inner join tmp2 on tmp1.key = tmp2.key
where tmp1.count = tmp2.count;
Hamrende ineffektivt, men for et enkeltstående tilfældes skyld, kan
jeg godt leve med det.
--
/Wegge
Min holdning til Usenet - <
http://wiki.wegge.dk/Usenet>
Min weblog - <
http://blog.wegge.dk/>