Kom ihåg mig?
Home Menu

Menu


Mysql: Db hämtar från annan db. Hur?

Ämnesverktyg Visningsalternativ
Oläst 2011-01-16, 15:30 #1
clirres avatar
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Nov 2005
Inlägg: 1 035
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
clirres avatar
 
Reg.datum: Nov 2005
Inlägg: 1 035
Standard Mysql: Db hämtar från annan db. Hur?

Hej,

Jag har ett problem som kräver lite mer än vad mina Mysql-kunskaper tillåter.

Jag har två tabeller: Rutter och Destinationer.

Rutter:
RuttFran
RuttTill

Destinationer:
DestinationID
DestinationLand

Där RuttFran samt RuttTill matchas av DestinationID. Exempelutdrag:

Rutter
Stockholm, Borås
Stockholm, Göteborg
Jönköping, Köpenhamn
Berlin, Athen

DestinationID,
Stockholm, Sverige
Berlin, Tyskland
Athen, Grekland

Nu vill jag göra en utläsning som läser ut alla distinkta landkopplingar som finns, dvs:

Sverige - Sverige
Sverige - Danmark
Tyskland - Grekland

och alltså inte alla fyra:

Sverige - Sverige
Sverige - Sverige
Sverige - Danmark
Tyskland - Grekland

Det är alltså ett tudelat problem:

#1. Hämta landsnamn för respektive Rutt-destination.
#2. Isolera alla unika landskopplingar.

Går det att göra med mysql bara eller måste jag gå via php? Vad ska jag googla efter isf?

Tack på förhand!
clirre är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-01-16, 17:10 #2
MMCs avatar
MMC MMC är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2008
Inlägg: 560
MMC MMC är inte uppkopplad
Mycket flitig postare
MMCs avatar
 
Reg.datum: Jan 2008
Inlägg: 560
En lösning:

Kod:
SELECT
    DISTINCT(CONCAT(FranDest.Land, TillDest.Land))
FROM Rutter
LEFT JOIN Destinationer AS TillDest
    ON TillDest.ID = Rutter.RuttTill
LEFT JOIN Destinationer AS FranDest
    ON FranDest.ID = Rutter.RuttFran
Gissar att datan inte ändras så ofta så att det går att cacha resultatet av frågan, annars skulle jag avnormaliserat databasen för att få en enklare fråga.

Senast redigerad av MMC den 2011-01-16 klockan 17:11 Anledning: bättre läsbarhet
MMC är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-01-16, 21:09 #3
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Det skulle vara fullkomligt vansinnigt att denomalisera databasen för ett sånt här problem, det strider mot alla grundläggande metoder att jobba med databaser.

Det skulle vara helt fel sätt att angripa problemet och att prestandaoptimera något som inte behöver prestandaoptimeras.

Se till att ha vettiga index så går en sån fråga blixtsnabbt.
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-01-17, 05:53 #4
clirres avatar
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Nov 2005
Inlägg: 1 035
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
clirres avatar
 
Reg.datum: Nov 2005
Inlägg: 1 035
Ett par timmar senare lyckades jag lösa det på ett förmodligen alldeles för komplicerat sätt med temporary tables osv. Tack för all hjälp!
clirre är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 23:46.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017