Vi har følgende problem: Når vi joiner flere tabeller med ens feltnavne, skelnes der ikke mellem disse. Eksempel:
TABEL1 ------- ID | NAVN
TABLE2 ID | NAVN | TELEFON
Hvis de to ovenstående joines uden videre vil der returneres
ID | NAVN | ID | NAVN | TELEFON
Det er jo ikke just snedigt. Det vi gerne vil opnå er, at vi får et resultat ud hvori man kan skelne mellem hvilke tabeller felterne kommer fra. Altså eksempelvis
TABEL1_ID |TABEL1_NAVN | TABEL2_ID osv.
Vi vil gerne _undgå_ at hardcode noget som helst, og dermed også brugen af AS, da dataet automatisk skal læses ind i objekter i et hashmap.
Håber der er nogle der kan hjælpe. Jeg er klar over at det måske er en lidt kryptisk forklaring, men spørg og jeg skal prøve at gøre det bedre!
Ok, som sagt var det nok lidt klumpet formuleret. Pointen er at automatisere databasekald, således at arbitrære tabeller kan joines og returneres i et hashmap. Derfor er det ikke givet at feltnavne vides på forhånd når kaldet foretages, og AS er dermed ikke en mulighed. Felter som ID vil typisk opstå i de fleste tabeller, og mange andre felter vil med stor sandsynlighed også dele navn. Det er derfor heller ikke en mulighed blot at antage differentiable feltnavne.
Eksemplet ovenfor var derfor kun ment som et, ja, eksempel ;-)
Håber dette gav en lidt bedre forståelse af problemet.
Kan du ikke hente felt navnene fra begge tabeller og så konstruere en dynamisk query i formen:
SELECT tabel1.felt1 AS tabel1_felt1,...,tabel1.feltx AS tabel1_feltx,tabel2.felt1 AS tabel2_feltx,...,tabel2.felty AS tabel2_felty FROM tabel1 JOIN tabel2 ON tabel1.feltz=tabel2.feltz
Jo, den tanke har vi også haft. Problemet er bare at man i så fald ville skulle lave et ekstra databasekald for hvert kald :( Og det vil vi naturligvis også gerne undgå.'
Det undrer mig egentlig at der ikke skulle eksistere en eller anden automatiseret måde at omdøbe felter på for at undgå redundans i navngivning?? Vi kan da næppe være de eneste med det problem? Jeg har prøvet at google lidt efter det, men efter ikke at kunne finde noget nogen steder, valgte jeg at forsøge her.
Hvis nogen har en idé så sig endelig til tak!
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.