21. december 2006 - 14:57Der er
3 kommentarer og 1 løsning
sql sætning inner join
Hejsa.
Jeg har 2 tabeller. Den ene inderholder en brugerliste, med fornavn, efter, og et postnummer felt.
Den anden tabel indeholder en reference tabel mellem postnumre og bynavne.
Jeg skal se om jeg kan lave en sql sætning, hvor jeg får alle records med ud fra brugerlisten også selvom postnummeret ikke findes i postnummer referencelisten.
Pt. ser min SQL sætning således ud :
select fornavn, efternavn, postnummer from brugerliste inner join POSTNUMRE on POSTNUMRE.POSTNUMMER = brugerliste.postnummer
Men hvis en record i brugerlisten har et postnummer som ikke findes i postnummer tabellen, så kommer denne record jo ikke med!
Kan man gøre noget, for at få alle records med ud, uanset hvad???
select Fornavn, Efternavn, PostNummer, isnull(bynavn, '<ikke angivet>') as bynavn from brugerliste left join postnumre on postnumre.postnummer = brugerliste.ostnummer
select Fornavn, Efternavn, PostNummer, isnull(bynavn, '<ikke angivet>') as bynavn from brugerliste left join postnumre on postnumre.postnummer = brugerliste.postnummer
Tænkte på om det måske også kunne lade sig gøre at lave en replace på bestemte værdi'er direkte i SQL'en?
Det er en C# kode der ligger til grund for mit program, og pt. replacer jeg efterfølgende værdier nogle steder. Det er fordi der i mit udtræk fra vores AS/400 løn system, står D hvis medarbejderen kommer fra Tyskland, og P fra polen, ENG for england, JOD for Jordan osv...
Ved ikke om du er hård til C#, men du kan jo nok se at jeg replacer på bestemte værdier, for hver record jeg trækker ud.
Kunne være lækkert at gøre det direkte i SQL sætningen, men jeg er ikke så hård til SQL endnu :-)
Nå, tak for hjælpen!
/Lasse
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.