Avatar billede mkjaer Nybegynder
26. januar 2006 - 12:15 Der er 5 kommentarer og
1 løsning

Kan man lave en JOIN på hoved-tabellen?½

Hejsa,

Jeg har en tabel, som indeholder mine kunder. Nogle af kunderne er hovedkontor for andre kunder. Jeg har begge typer kunder i samme tabel, blot med den forskel, at jeg udfylder en felt (hovedkontor), når kunden er tilknyttet et hovedkontor. Værdien er så id'en på den kunde, som er hovedkontor.

Nu vil jeg gerne lave et udtræk af mine kunder, hvor navnet på hovedkontoret kommer med i query'en. Det kræver jo at jeg trækker info fra samme tabel 2 gange i samme query - kan man det?

Hvis kunden er hovedkontor (hovedkontor=NULL) skal de ikke vises. Hvis kunden ikke er tilknyttet et hovedkontor, skal kunden alligevel med i resultatet af query'en.

Jeg ønsker resultatet af query'en skal se nogenlunde sådan her ud:

id navn        hovedkontor
-------------------------------------------
2  Dingeling  Ding Danmark
3  BongBong    Ding Danmark
4  Tjubang    -
6  HujaHopsa  Hujsa Inc.

Jeg glæder mig til at se en løsning på udfordringen...
Avatar billede barklund Nybegynder
26. januar 2006 - 12:20 #1
Snildt:

SELECT t1.id AS id, t1.name AS navn, t2.name AS hovedkontor
FROM mintabel t1 LEFT JOIN mintabel t2 ON t1.hovedkontor = t2.id
ORDER BY t1.id

:)

Så kommer hovedkontorerne dog også med. Hvordan ser man forskel på, om en kunde er hovedkontor eller om en kunde ikke har noget hovedkontor? De er jo ens? Hvis man skal løbe hele tabellen igennem for at se, om der er nogen, der peger på den, så er det en ret stor query.

--
Morten Barklund
Avatar billede mkjaer Nybegynder
26. januar 2006 - 13:13 #2
Hejsa,

Problemet er jo at T1 og T2 i dit eksempel er den samme tabel (forhandler).
Hvis forhandler.forhandlerid = 0, så er det et hovedkontor.

hilsen
Martin
Avatar billede barklund Nybegynder
26. januar 2006 - 14:11 #3
jaja, jeg har også skrevet mintabel to gange - altså forhandler. Jeg har bare givet dem navnene t1 og t2, så man kan referere til hver enkelt.

Og hvordan identificerer man en forhandler uden hovedkontor? du nævner jo i spørgsmålet, at sådanne vil der også være?
Avatar billede mkjaer Nybegynder
26. januar 2006 - 15:01 #4
Ups, det virker sørme. Fantastisk. Send et svar, så du kan få pointene...
Avatar billede barklund Nybegynder
26. januar 2006 - 15:06 #5
Cool :)
Avatar billede barklund Nybegynder
26. januar 2006 - 15:13 #6
Tark for points :)
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