2013-04-28, 19:51
#1
Tjena. Har suttit och pillat lite utan att få löst ett litet problem.
Min tabell heter nuts och har 5 columner.
code (kod betäckning för städerna)
name (namn på städer)
country_order (int 1-100) unikt för varje land, exempel sverige har order 26 tillsammans med alla dess städer
level (int 0-2) 0 land, 1 län, 2 städer
version (enum, 2003,2008)
---------------
Om ni har jobbat med upphandlingar tidigare så vet ni vad nuts-koder är. Annars kan ja försöker förklara lite snabbt.
Min tabell består av länder, dess städer och län. Det finns 2 olika versioner på koderna som presenterades 2003 samt 2008 enligt europeiska unionen.
Jag har lagt in alla koder från 2003 samt 2008 i en och samma tabell.
Vissa koder har inte förändrats sedan 2003 och är desamma även 2008. Dock så kan det finnas vissa koder i 2003 som inte finns med i 2008 och tvärtom. Städer kan ha lagts till eller tagits bort mellan dem två versionerna också.
Vad jag vill göra är simpelt.
Jag vill selecta alla nuts koder från både 2008 samt 2003. Om staden heter samma sak i 2003 samt 2008 men har olika koder så vill jag presentera det i 2 olika kolumner, finns staden i ena tabellen men inte i den andra så ska den fortfarande tas med, fast ja måste veta vilken version det är.
Så här såg min sql fråga ut som inte fungerar för alla länder.
Här har jag bara försökt matcha namnen. Jag vet helt enkelt inte hur jag ska göra för att få med allting då det egentligen inte finns någon tydligt relationer mellan koderna.
Som exempel kan västra götalands län ha kod SE01 i 2003 versionen medan den har SE101 i 2008 versionen.
Jobbigare blir det om en stad finns med i 2003 versionen men inte 2008. Hur går jag tillväga?
Min tabell heter nuts och har 5 columner.
code (kod betäckning för städerna)
name (namn på städer)
country_order (int 1-100) unikt för varje land, exempel sverige har order 26 tillsammans med alla dess städer
level (int 0-2) 0 land, 1 län, 2 städer
version (enum, 2003,2008)
---------------
Om ni har jobbat med upphandlingar tidigare så vet ni vad nuts-koder är. Annars kan ja försöker förklara lite snabbt.
Min tabell består av länder, dess städer och län. Det finns 2 olika versioner på koderna som presenterades 2003 samt 2008 enligt europeiska unionen.
Jag har lagt in alla koder från 2003 samt 2008 i en och samma tabell.
Vissa koder har inte förändrats sedan 2003 och är desamma även 2008. Dock så kan det finnas vissa koder i 2003 som inte finns med i 2008 och tvärtom. Städer kan ha lagts till eller tagits bort mellan dem två versionerna också.
Vad jag vill göra är simpelt.
Jag vill selecta alla nuts koder från både 2008 samt 2003. Om staden heter samma sak i 2003 samt 2008 men har olika koder så vill jag presentera det i 2 olika kolumner, finns staden i ena tabellen men inte i den andra så ska den fortfarande tas med, fast ja måste veta vilken version det är.
Så här såg min sql fråga ut som inte fungerar för alla länder.
Kod:
SELECT nuts_2003.name AS name_2003,nuts_2003.country_order AS country_order_2003,nuts_2003.level AS level_2003,nuts_2003.code AS code_2003,nuts_2008.name AS name_2008,nuts_2008.country_order AS country_order_2008,nuts_2008.level AS level_2008,nuts_2008.code AS code_2008 FROM nuts AS nuts_2008
LEFT JOIN nuts AS nuts_2003 ON nuts_2008.name = nuts_2003.name
WHERE nuts_2008.country_order = '26' AND nuts_2008.name NOT LIKE 'Extra%' AND nuts_2008.version = '2008' AND nuts_2003.version = '2003'
Här har jag bara försökt matcha namnen. Jag vet helt enkelt inte hur jag ska göra för att få med allting då det egentligen inte finns någon tydligt relationer mellan koderna.
Som exempel kan västra götalands län ha kod SE01 i 2003 versionen medan den har SE101 i 2008 versionen.
Jobbigare blir det om en stad finns med i 2003 versionen men inte 2008. Hur går jag tillväga?
__________________
Senast redigerad av newone 2013-04-28 kl. 19:57.
Senast redigerad av newone 2013-04-28 kl. 19:57.
läs lite om det på nätet så förstår du.