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 ?
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.