Avatar billede neoman Novice
09. oktober 2007 - 19:19 Der er 2 kommentarer og
1 løsning

Joins med null, AKA forældreløse børn

Jeg har nogle grupper, som hver har nogle medlemmer, og medlemmerne kan være organiseret i nogle afdelinger (hvor afdelingerne er gruppe-specifikke, og en gruppe enten har afdelinger eller ej). Problemet kan vist destilleres ned til følgende (hvor jeg har taget gruppedata væk):


Members
------
MemberID (PK)
DepartmentID (FK)
MemberName
....


Departments
-----------
DepartmentID (PK)
DepartmentName
......


Hvis jeg nu har følgende data :


Members
-------

1    1    member1
2    1    member2
3    (null)    member3
4    (null)    member4

og

Departments
-----------

1    department1


Hvordan kan jeg lave en select som returnerer en medlemsliste bestående af samtlige fire medlemmer og afdelingsnavne således:

MemberName    DepartmentName
----------    --------------
member1        department1
member2        department1
member3        (null)
member4        (null)
Avatar billede kalp Novice
09. oktober 2007 - 19:31 #1
Hvis left join ikke virker så ændre det til right join..

lyder som om dit problem bare er, at den sql du benytter nu ikke returnere de members som mangler en department reference.
Avatar billede neoman Novice
09. oktober 2007 - 19:36 #2
DU ER FANDEME EN HELT ! :)

SELECT      Members.MemberName, Departments.DepartmentName
FROM        Members LEFT OUTER JOIN
                      Departments ON Members.DepartmentID = Departments.DepartmentID

læg et svar.
Avatar billede kalp Novice
09. oktober 2007 - 19:37 #3
:D
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