Hej Förstår jag dig rätt att du vill enbart ha företagen en gång per län? Tack för hjälpen. Det blev inte riktigt som jag tänkt men när jag ändrade Sql fråga
Jag håller på med en sql fråga som jag inte får att fungera som jag vill. Så här ser den ut idag.
select * from forening left join (lan, kommun, forkommun) on (lan.id=kommun.id and kommun.kommun_id=forkommun.kommun_id and forening.id = forkommun.forenings_id) where lan.id='".$lan."' order by forening.namn
Det är fyra tabeller forening, lan, kommun, forkommun
forening innehåller namn mm på föreningar.
lan innehåller våra svenska län
kommun innehåller kommunerna i sverige
forkommun är en relations tabell för kommun och forening. Då en förening kan representeras i flera kommuner.
Problemet är att jag vill att föreningens namn bara visas en gång i resultatet av sql frågan.
I frågan som den ser ut nu visas föreningsnamnet 2 gånger om det lan.id som efter frågas har två kommuner som har en förening är etablerade i båda kommunerna.
exempel:
kallesförening finns i Linköpingskommun och Åtvidabergskommun. Både Åtvidabergskommn och Linköpingskommun ligger i Östergötland.
När jag skickar frågan till sql:n blir resultatet
kallesförening
kallesförening
Alltså två gånger.
Hjälp
Mvh
Kjell Sv: Sql fråga
SELECT * FROM forening f
LEFT JOIN forkommun fk ON fk.forenings_id = f.id
LEFT JOIN kommun k ON k.kommun_id = fk.kommun_id
LEFT JOIN lan l ON l.id = k.id
WHERE l.id = '" . $lan . "'
GROUP BY l.id
ORDER BY f.namn
Jag föredrar att skriva join satserna som ovan, blir lite tydligare då vad man egentligen vill.
Sv:Sql fråga
GROUP BY l.id
till
GROUP BY f.id
Blev resultatet OK.
Än en gång ett stort tack.
Mvh
Kjell Ideskär