Avatar billede Slettet bruger
08. januar 2003 - 10:29 Der er 5 kommentarer og
2 løsninger

Simpelt join og select af 2 tabeller

HEJ.

Jeg har 2 tabeller. 1.Person, 2.Nye personer

Jeg skal så have joinet begge tabeller, således at jeg kan udtrække alle de emailadresser i tabellen 2 (nye personer), som IKKE eksisterer i tabellen 1 (person).

Det burde være simpelt, men jeg er ringe...
Avatar billede bennytordrup Nybegynder
08. januar 2003 - 10:33 #1
select email
from [Nye Personer] NP left outer join Person P on NP.PersonID = P.PersonID
where P.PersonID is null
Avatar billede di8leva Nybegynder
08. januar 2003 - 10:39 #2
"shot from the waist"

select email from [Nye Personer] where email not in (select email from [Person])
Avatar billede arnvig Nybegynder
08. januar 2003 - 10:41 #3
select email_adr
from [Nye Personer] NP
where not exists ( select P.PersonId
                  from Person P
                  where P.PersonId = NP.PersonId)
Avatar billede arnvig Nybegynder
08. januar 2003 - 10:43 #4
eller

select email_adr
from [Nye Personer] NP
where not exists ( select P.PersonId
                  from Person P
                  where P.email_adr = NP.email_adr)

hvis du vil sammenlige direkte på email_adr istedet for PersonId
Avatar billede arnvig Nybegynder
08. januar 2003 - 10:47 #5
di8leva: Det bliver hurtigt en performance-tung query, når den skal lave
in-listen for hver forekomst i [Nye Personer].
Kan MS-SQL evt. selv optimere den løsning ?
Avatar billede Slettet bruger
08. januar 2003 - 11:05 #6
Takker, fine svar
Avatar billede di8leva Nybegynder
08. januar 2003 - 11:05 #7
arnviq>> jag vid icke noget om MS-SQL =)
men "not in" er fra standard SQL, og jag tror det er optimerat så det ikke laver in-listen for hver forekomst, uden kun en gang, och sedan listen fra "Nye Personer"
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester