Avatar billede tobber07 Nybegynder
24. maj 2007 - 12:20 Der er 9 kommentarer og
1 løsning

joine flere fk fra samme tabel til samme ftabel

Hej eksperter

jeg har en drøm om en select - men jeg tror ikke den kan lade sig gøre - men man KUNNE jo lige høre expertern :-)

Jeg har tabel A og B :

A.ID
A.BID1  fk der peger på 1 entry i B
A.BID2  fk der peger på en anden entry i B

B.ID    pk
B.NAVN  navneattribut jeg gerne vil have ud.

jeg vil gerne have en result sæt med følgende

A.ID, B.Navn (for A.BID1) , B.Navn (for A.BID2)

men jeg kan ikke greje hvordan jeg skal gøre - kan I ?

-Torben
Avatar billede korup Nybegynder
24. maj 2007 - 12:42 #1
Ved ikke om den virker men du kan da prøve denne:

SELECT A.ID, B.Navn FROM A
INNER JOIN B ON (A.BID1 = B.Navn) AND (A.BID2 = B.Navn)

/korup
Avatar billede korup Nybegynder
24. maj 2007 - 12:43 #2
Nej det virker ikke efter nærmere eftertanke :)
Avatar billede 0xffff Nybegynder
24. maj 2007 - 12:48 #3
skulle kunne lade sig gøre med nested select

select a.id, b.navn as navn1, (select a.id, b.navn from a
inner join b on a.bid1 = b.id) as navn2
from a inner join b on a.bid2 = b.id
Avatar billede fdata Forsker
24. maj 2007 - 23:02 #4
SELECT A.ID, B.Navn AS Navn1, B_1.Navn AS Navn2
FROM (A LEFT JOIN B ON A.Bid1 = B.ID) LEFT JOIN B AS B_1 ON A.Bid2 = B_1.ID;
Avatar billede tobber07 Nybegynder
25. maj 2007 - 09:07 #5
Kanon ! Jeg troede ikke man kunne :-) 1000 tak - her er point !
Avatar billede fdata Forsker
29. maj 2007 - 22:28 #6
Prøv lige at lukke spm. igen  ;o)
Avatar billede tobber07 Nybegynder
30. maj 2007 - 08:57 #7
var det bedre ?
Avatar billede 0xffff Nybegynder
30. maj 2007 - 09:08 #8
hvilken løsning valgte du at bruge ? bare ud af nysgerrighed :)
Avatar billede fdata Forsker
30. maj 2007 - 23:58 #9
Bedre. Takker for point  ;o)
Avatar billede tobber07 Nybegynder
31. maj 2007 - 09:06 #10
SELECT  ..... Fra_knude.Knudenavn AS Fra_knude,
              Til_knude.Knudenavn AS Til_knude ...
FROM
      ((Delledning AS d LEFT JOIN Ledning AS h ON d.LedningID = h.ID) LEFT JOIN Knude AS Til_knude ON d.NedstroemKnudeID = Til_knude.ID) LEFT JOIN Knude AS Fra_knude ON d.OpstroemKnudeID = Fra_knude.ID

+ noget union og andet skrammel - men nu virker det - takker alle ! :-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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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