Gå til innhold

Joins fra samme rad to plasser...


Anbefalte innlegg

Skrevet

Jeg holder på å lage ett system for å skrive km liste, og har i den forbindelse kommet borti ett problem, jeg kan løse det på jalla metoden,men har ikke så lyst til det..

Jeg har 2 tabeller som berører problemet:

 

En som inneholder destinasjoner, for enkelthets skyld sier vi at den inneholder:

 

 

Navn: Destinations

did <- Destinasjon id

destinasjon <- Navn på destinasjonen

 

 

Navn: Distances

from <- id som refererer til did i destinations tabellen

to <- id som refererer til did i destinasjons tabellen

km <- Avstanden i km

 

 

 

Det jeg ønsker en en query som joiner disse, slik at jeg får opp alle "distansene", med Navn og id! Hvordan gjør jeg dette når det er 2 forskjellige id´er som skal joines med samme rad i en annen tabell?

Videoannonse
Annonse
Skrevet

Vel, jeg er ingen database-guru, så det er fult mulig det kan gjøres bedre.

SELECT d1.destinasjon AS from, d2.destinasjon AS to, Distances.km FROM Destinations AS d1 JOIN Distances ON d1.did = Distances.from JOIN Destinations AS d2 ON d2.did = Distances.to

Skrevet
Vel, jeg er ingen database-guru, så det er fult mulig det kan gjøres bedre.

SELECT d1.destinasjon AS from, d2.destinasjon AS to, Distances.km FROM Destinations AS d1 JOIN Distances ON d1.did = Distances.from JOIN Destinations AS d2 ON d2.did = Distances.to

 

 

Da må jeg spørre dumt som vanlig.. hvor får du dette fra:

 

d2.destinasjon

d1.destinasjon

 

 

altså d1 og d2?

Skrevet

Det er alias for tabellen. For å kunne kjøre join mot samme tabell flere ganger er man fint nødt til å gjøre det for at hver av tabellene skal være «unike».

Skrevet

Det var det jeg også mente, at det er vanligere å bare bruke AS når man renamer en kolonne.

 

SELECT field1 AS name, field2 AS address FROM table t JOIN table2 t2 ON t1.field1 = t2...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...