![]() |
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! |
En lösning:
Kod:
SELECT |
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. |
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!
|
Alla tider är GMT +2. Klockan är nu 04:47. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson