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 ?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
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.