04. oktober 2004 - 10:19Der er
26 kommentarer og 2 løsninger
bruge tabel-navn under en join
Heysa. Kan godt være at spørgsmålet lyder somom det skulle laves under database men det er mere java der er problemet (tror jeg).
Jeg laver en join i min database mellem 2 tabeller (har valgt bare at vise eksempler på tabeller) "Person" og "Køn".
Person indeholder:
id navn adresse osv...
Køn indeholder:
id køn
dette virker fint når jeg henter data ud at jeg får person og køn ved at lave en join. Men når jeg så skal til at oprette objekter får jeg et problem. Jeg laver en resultset.getInt("id"); men der er jo 2 kolonner med navnet id. derfor ville jeg gerne kunne lave: resultset.getInt("person.id") i stedet for men så siger java ugyldig kolonnenavn. hvordan kan man så bestemme hvilket af de 2 id'er man vil bruge?
jeg har ikke mulighed for at ændre kolonnenavnene til f.eks. personId og kønId da det laves til en eksisterende database :(
Hmm det ville være ret nederen da der er op til 30 attributter der skal skrives så. kan jeg så bruge resultet.getInt("person.id") eller skal jeg til at ændre til select person.id as personId oder was?
Synes godt om
Slettet bruger
04. oktober 2004 - 10:29#3
Hvad med at bruge SELECT Person.*, Køn.* i din query, så bliver den knap så "bloated", var bare en ide?
Det er ikke bloated at angive hvilke kolonner du skal bruge, tværtimod. SELECT * overlader til databasen at generere en list over kolonner, og det er en del lettere for den at du i stedet fortæller den det.
Så hvis det er en slags dovenskab, så er det et skidt argument.
hmmm... ved ikke om jeg har fået dig til at misforstå hvad de 2 id'er er... det er de 2 primary keys... på person vil der også være en der hedder: person.kønId som er fremmednøgle til køn.id...
well... tror jeg er med på hva du mener du. men som du forklarede det lyder det somom du tror at id på køn er fremmednøgle til id på person? for de er nemlig IKKE ens. men det er person.kønId (fremmednøgle) jeg kan bruge ved resultset.getInt("kønId");
nå corholio gad ik svare så i får points :) takker for hjælpen :D
Synes godt om
Slettet bruger
04. oktober 2004 - 22:33#28
Sorry, det var ikke for at være uhøflig at jeg ikke svarede har blot ikke tjekket min mail før nu (og dermed dette spørgsmål), behøvede dog heller ikke point for den strø-tanke jeg kom mig, jeg er blot tilfreds med at du har fundet en løsning.
Held og lykke med projektet :-)
Synes godt om
Ny brugerNybegynder
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.