Avatar billede kkieldsen Nybegynder
20. april 2011 - 15:11 Der er 6 kommentarer

En masse rækker med de samme værdier, why?

Hej eksperter,

Jeg har en masse tabeller hvor jeg bruger INNER JOIN til at binde dem sammen.
Når jeg trækker data ud får jeg  mod forventning, en masse rækker hvor alt data i kollonerne er præcis det samme.

Hvordan gør jeg så kun en række med nøjagtig det samme data i kollonerne vises-
Avatar billede hrc Mester
20. april 2011 - 15:18 #1
Det er nok dine joins der ikke er korrekte. Prøv at udkommentere dem og dernæst koble dem på en efter en. Når der pludselig kommer flere records end du forventer, så ved du hvilken join du skal arbejde med.
Avatar billede 2c Nybegynder
20. april 2011 - 15:47 #2
Hvad med at bruge select distinct?
Avatar billede Syska Mester
20. april 2011 - 15:57 #3
Start med at vise os hvad data der er i de 2 tables og derefter hvordan du joiner.

Der må klart være en fejl.

Husk på at join laver en DE-NORMILIZED repræntation af dine data.

mvh
Avatar billede hrc Mester
21. april 2011 - 11:33 #4
Distinct er en lappeløsning på en dårlig select.
Avatar billede janus_007 Nybegynder
21. april 2011 - 16:13 #5
Nu er det jo sådan at en join i sagens natur kan give en masse ens data i udtrækket.
Årsagen er simpel, joinet samler data fra normaliseret til denormaliseret form, og altså ikke noget at hverken at skamme sig over eller være ked af ;-)
Det behøver altså hverken skyldes en dårlig select eller et dårligt design, men udelukkende dataens natur, men som nævnt det kan også være din join der er fejl i :)

Men post lidt data, så er det væsentligt nemmere at forstå :)

Delvis enig med hrc omkring distinct, men distinct kan nu også være ganske brugbar i særlige situationer!
Avatar billede LeifDC Praktikant
16. juni 2011 - 17:33 #6
Det var et intelligent svar til en der har et problem.
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

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