13. juli 2011 - 13:56Der er
11 kommentarer og 1 løsning
Join mellem 2 tabeller
Hej
Jeg ønsker fra en tabel, at joine over i en anden, hvor der findes mere end en record i den anden tabel. I tabel 1 er et kundenr. mens der i den anden er f.eks. navn og efternavn.
Hvordan får jeg alle felter i tabel2 på en linje ?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Ja, det havde gjort det noget nemmere, men det er desværre ikke designet sådan..
Og jeg skal kun hente data ud fra det eksisterende.
Synes godt om
Slettet bruger
13. juli 2011 - 17:50#8
select Kundenummer ,max(case when Nr = 1 then Value end) Felt1 ,max(case when Nr = 2 then Value end) Felt2 ,max(case when Nr = 3 then Value end) Felt3 from ( select t2.* ,row_number() over(partition by Kunenummer order by Feltnavn) Nr from Tabel2 t2 ) s1 group by Kundenummer
Man vil også kunne joine tabel2 på tabel1 flere gange:
select tabel1.kundenummer, tabel2_1.value as Fornavn, tabel2_2.value as Efternavn, tabel2_3.value as Adresse FROM tabel1 LEFT OUTER JOIN tabel2 as tabel2_1 ON tabel1.Kundenummer = tabel2_1.kundenummer and tabel2_1.feltnavn = 'Fornavn' LEFT OUTER JOIN tabel2 as tabel2_2 ON tabel1.Kundenummer = tabel2_2.kundenummer and tabel2_2.feltnavn = 'Efternavn' LEFT OUTER JOIN tabel2 as tabel2_3 ON tabel1.Kundenummer = tabel2_3.kundenummer and tabel2_3.feltnavn = 'Adresse'
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.