Avatar billede andersasp Nybegynder
19. juli 2005 - 12:14 Der er 6 kommentarer og
1 løsning

Udtræk af data udfra relateret tabel!

Hejsa eksperter!

Jeg har en tabel med elever = "YKyogakunder" og de elever er tilmeldt x antal hold i tabellen = "YKtilmeldingshold" - jeg skal nu lave nogle udtræk udfra de hold de er tilmeldt og sortere udfra deres navne = "YKyogakunder".

Min nedenstående inner join virker tildels da den henter alle fra de hold. Men hvis en elev er f.eks. på to hold bliver han/hun vist 2 gange og jeg kan heller ikke sortere udfra elevernes data???

hvorledes kan man undgå dubletter og få muligheden for at sortere udfra tabellen "YKyogakunder" selvom ens kriterier er taget fra tabellen "YKtilmeldingshold"???
-------------------------------------------------

"SELECT *  FROM YKyogakunder inner join YKtilmeldingshold ON YKyogakunder.YKID = YKtilmeldingshold.YKpersonnogle  ORDER BY YKyogakunder."&orderbythis&""
Avatar billede busschou Praktikant
19. juli 2005 - 13:18 #1
normalt benytter man DISTINCT for at indikere at man kun ønsker enkelte optrædender
Men jeg er ikke sikker på om du kan sige "Select Distinct * "
Det er muligt at du er nød til at definere dem individuelt som
"Select felt1, felt2, Distinct felt3, felt4 osv "
Hvis du forstår ? ;o)
Avatar billede andersasp Nybegynder
19. juli 2005 - 14:07 #2
Den kommer ikke med fejl når jeg indsætter distinct som her:

"SELECT DISTINCT * FROM YKyogakunder inner join YKtilmeldingshold ON YKyogakunder.YKID = YKtilmeldingshold.YKpersonnogle  ORDER BY YKyogakunder."&orderbythis&""

Men de elever som er tilmeldt x-antal hold bliver stadig listet de x-antal gange - vender jeg min select forkert, eller ???
Avatar billede busschou Praktikant
19. juli 2005 - 14:10 #3
tja øhh bøhh
Jeg har aldrig selv lavet en distinct * før
Men man kunne måske tænke sig at de til trods for de har samme navn og samme hold tolkes som forskellige fordi de har forskelligt id (primary key)
Du kunne prøve liste alle de felter op du skal bruge og så kun lave en distinct på navnet
Så vil alle navne kun fremkomme een gang
Avatar billede andersasp Nybegynder
19. juli 2005 - 14:29 #4
Ok nu har jeg omskrevet den til:

"SELECT DISTINCT YKID, YKnavn, YKefternavn, YKadresse, YKpostnr, YKby, YKtelefon, YKmobil, YKemail, YKkoen FROM YKyogakunder inner join YKtilmeldingshold ON YKyogakunder.YKID = YKtilmeldingshold.YKpersonnogle ORDER BY YKyogakunder."&orderbythis&""

Dette ser ud til at virke - men ved du hvor jeg nu kan indsætte en where i forhold til data i tabellen "YKtilmeldingshold"???
Avatar billede busschou Praktikant
19. juli 2005 - 14:32 #5
ja før din order by vil jeg mene
--
"SELECT DISTINCT YKID, YKnavn, YKefternavn, YKadresse, YKpostnr, YKby, YKtelefon, YKmobil, YKemail, YKkoen FROM YKyogakunder inner join YKtilmeldingshold ON YKyogakunder.YKID = YKtilmeldingshold.YKpersonnogle WHERE NOGET = NOGET ORDER BY YKyogakunder."&orderbythis&""
Avatar billede andersasp Nybegynder
19. juli 2005 - 14:36 #6
Ok tusinde tak for alt din hjælp!! hvis du smider et svar kan jeg lige give nogle points!!
Avatar billede busschou Praktikant
19. juli 2005 - 14:36 #7
jamen det gør jeg da .. godt det virker :o)
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
Kurser inden for grundlæggende programmering

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