Avatar billede morten_s Nybegynder
08. august 2001 - 09:53 Der er 5 kommentarer og
1 løsning

Dobbelt join

Er det muligt at joine 2 gange til samme tabel ?

Min SQL streng ser ud som følger

SELECT Comp.ID, Comp.Name, Comp.StateLabColor,Comp.TimeLabColor, Colors.Color
  FROM Comp
  INNER JOIN Colors
    ON (Comp.StateLabColor = Colors.ID)
  INNER JOIN Colors
  ON (Comp.TimeLabColor = Colors.ID)

Fejlen meddelelsen er not unique table/alias colors.
sletter jeg den sidste INNER JOIN Colors ON (Comp.TimeLabColor = Colors.ID)
virker det.
Avatar billede peter_m Nybegynder
08. august 2001 - 09:57 #1
kan du ikke lave det om til noget and ellers skal du nok lave en form for sub select
Avatar billede morten_s Nybegynder
08. august 2001 - 09:58 #2
Sikkert, men hvordan ser syntaksen ud ?
Avatar billede peter_m Nybegynder
08. august 2001 - 10:01 #3
SELECT Comp.ID, Comp.Name, Comp.StateLabColor,Comp.TimeLabColor, Colors.Color
  FROM Comp
  INNER JOIN Colors
    ON (Comp.StateLabColor = Colors.ID AND Comp.TimeLabColor = Colors.ID)


Vil dette virke? så skal begge dele være opfyldt men det er måske ikke det du vil?

Avatar billede morten_s Nybegynder
08. august 2001 - 10:02 #4
nej jeg vil have lagt de farver som ligger i tabelen colors ind i StateLabColor og TimeLabColor
Avatar billede proaccess Nybegynder
08. august 2001 - 10:03 #5
Prøv med:

SELECT Comp.*, CoA.Color, CoB.Color
  FROM (Comp
  INNER JOIN Colors AS CoA
    ON Comp.StateLabColor = CoA.ID)
  INNER JOIN Colors AS CoB
  ON Comp.TimeLabColor = CoB.ID
Avatar billede morten_s Nybegynder
08. august 2001 - 10:16 #6
proacces> Tak
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