Avatar billede steen Nybegynder
21. november 2002 - 14:19 Der er 10 kommentarer og
1 løsning

Distinct på bestemt collonne

Kan man distincte på en bestemt kollonne??

ID  Varenummer  Pris
------------------------
01  7895        745
02  7895        733
03  4877        421

SELECT DISTINCT ID, Varenummer, Pris
iver mig varenummer: 7895 2 gange.. kan jeg undgå dette på en eller anden måde?
Avatar billede ocp Nybegynder
21. november 2002 - 14:36 #1
select distinct varenummer from table
Avatar billede ocp Nybegynder
21. november 2002 - 14:37 #2
Men hvis du skal have både varenr. og pris holder det ikke. Du kan jo ikke lave distinct når priserne ikke er ens i både id 1 og 2.
Avatar billede steen Nybegynder
21. november 2002 - 14:42 #3
Nej Præcis... men hvad kan jeg så gøre i stedet??
Avatar billede ocp Nybegynder
21. november 2002 - 14:45 #4
Jamen, hvad vil du opnå? At række nr. 2 er "blank" i varenummeret for ID 02?
Avatar billede steen Nybegynder
21. november 2002 - 14:52 #5
Ja.. jeg vil ha et recordset som følgende:

ID  Varenummer  Pris
------------------------
01  7895        745
03  4877        421
Avatar billede ocp Nybegynder
21. november 2002 - 14:59 #6
Så du smider den ene (laveste) pris væk?

select * from vare where v1 not exists(select 1 from vare v2 where v1.varenummer = v2.varenummer and v2.pris > v1.pris)
Avatar billede ocp Nybegynder
21. november 2002 - 15:00 #7
Sorry:

select * from vare where not exists(select 1 from vare v2 where v1.varenummer = v2.varenummer and v2.pris > v1.pris)
Avatar billede ocp Nybegynder
21. november 2002 - 15:00 #8
Arrrrgh:

select * from vare v1 where not exists(select 1 from vare v2 where v1.varenummer = v2.varenummer and v2.pris > v1.pris)
Avatar billede steen Nybegynder
21. november 2002 - 19:58 #9
ocp >> Hmmm... det holder ikke helt. For at gøre dette nemmere havde jeg konstrueret ovenstående eksempel.... Dumt af mig, men jeg troede der var en løsning jeg kunne benytte i min rigtige forespørgsel.
Der er tale om en left outer join:
Avatar billede kichian Nybegynder
22. november 2002 - 12:07 #10
Hvad er helt præcist problemet? Hvad er det du vil have ud af din query og hvordan ser din/e tabel/ler ud?
Når nu der er 2 priser for det samme varenummer, må du foklare hvad der afgør hvilken pris der skal vises.

Men for at finde evt. mindste pris i det nævnte eksempel:

select
    v1.*
from
    varer v1,(select Varenummer, min(pris) as prisen from varer group by vnr) as pristabel
where v1.Varenummer= pristabel.Varenummer and v1.pris = pristabel.prisen
Avatar billede steen Nybegynder
01. december 2002 - 18:33 #11
Løste det selv.. beklager
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester