| FAQ |
| Kalender |
|
|
|
|
#1 | |||
|
||||
|
Medlem
|
Ursäkta att jag snor tråden men min fråga är ungefär densamma. Jag provade föreslagen sql på min databas men jag fick inte önskat utfall.
Mina tabeller ser ut som följer Tabell "Distrikt" distrikt int namn varchar (län) ... Tabell "Kunder" orgnummer int lan varchar (län) ... I tabellen distrikt har vi 77 poster. Ett distrikt (1) innehåller Östergötland och Jönköping. Distrikt 2 innehåller andra län/städer. I tabellen kunder har vi flera som "finns" i Östergötland och Jönköping. Men med mina frågor får jag bara ut endera läns kunder. Jag vill alltså att när jag väljer distrikt 1 få ut kunder som tillhör både Jönköping och Östergötland. select distinct orgnummer,lan from Kunder right JOIN (select namn,distrikt from Distrikt) as d ON d.namn = Kunder.lan where d.distrikt = 1 Någon som har ett förslag? |
|||
|
|
Svara med citat
|
|
|
#2 | |||
|
||||
|
Medlem
|
Löste mitt problem med följande sql. Det behövdes ingen JOIN utan en selectsats i where.
select distinct orgnummer,lan FROM Kunder WHERE Kunder.lan in((select namn from Distrikt where distrikt = 1)) |
|||
|
|
Svara med citat
|
|
|
#3 | |||
|
||||
|
Bara ett inlägg till!
|
Citat:
något sådant här kanske? SELECT d.distinct, k.orgnummer,lan FROM Kunder k INNER JOIN district d ON k.lan = d.namn AND d.distrikt = 1 Senast redigerad av MRDJ den 2011-08-04 klockan 13:02 |
|||
|
|
Svara med citat
|
|
|
#4 | ||
|
|||
|
Supermoderator
|
Subqueries bör normalt sett undvikas om möjligt så även i ditt fall.
__________________
Full-stack developer, free for smaller assignments |
||
|
|
Svara med citat
|
| Svara |
|
|