Gå til innhold

Anbefalte innlegg

Heisan

Finnes det en måte å filtrere en spørring slik at dubletter ikke kommer over?

 

Har et relasjonsregister mot en prosjekt tabell som inneholder forskjellige enheter prosjektet er koblet til. I tillegg på disse postene så er det en kobling til kontakter. Jeg vil ha alle kontaktene som har tilhørighet mot prosjektet, men jeg vil ha dem kunn en gang. Er dette mulig i et SELECT uttrykk?

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+98172347

SELECT DISTINCT kontakt FROM prosjekttabell;

 

Hvor "kontakt" f.eks er id eller navn på kontaktpersonen og "prosjekttabell" er navnet på tabellen som inneholder prosjektene.

Lenke til kommentar

Det bør kanskje nevnes at forskjellen i ytelse på bruk av DISTINCT og EXISTS kan være rimelig stor.

 

F.eks må postgresql hente ut hele result-settet, sortere det for så å filtrere det ved bruk av DISTINCT i nåværende versjon (det blir fikset i 8.4, tror ikke det er fikset i 8.3)

 

EXISTS skal i utgangspunktet "kortslutte" med en gang den indre selecten returnerer en rad, men hvordan/når optimizeren faktisk kjører spørringen er, for mer komplekse spørringer ikke alltid opp av dage.

 

Hintet er at hvis du har en større database må man være klar over slike quirks og vite om forskjellige måter å kjøre samme spørring på.

 

(Ser for meg at kaffenils sitt forslag er den kjappeste måten å kjøre dette på)

Endret av blackbrrd
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...