Jag ville räkna förekommsten av avikelsrapporter per kvarter, men som vanligt,
fasnar jag.
SELECT
Count( t_Avikelserapport.rapport) AS Antal,
t_Avikelserapport.rapport, t_kvarter.kvarterId
FROM
t_kvarter
RIGHT JOIN (t_gata
INNER JOIN (t_Avikelserapport
INNER JOIN t_Avikelse
ON t_Avikelserapport.rapId = t_Avikelse.rapId)
ON t_gata.gatId = t_Avikelse.gatId)
ON t_kvarter.kvarterId = t_gata.kvarterId
WHERE
(((t_kvarter.kvarterId)=2))
GROUP BY
t_Avikelserapport.rapport;
Felmedelande: Du försöker köra en fråga med en mängdfunktion som inte innehöll det angivna uttrycket "kvarterId"
Lägger jag till kvarterId så räknars de bara som en och en, jag skulle vilja veta
det totala antalet rapporter per kvarter. :l
SELECT
Count(t_Avikelserapport.rapId) AS Antal, t_kvarter.kvarterId
FROM
t_kvarter RIGHT JOIN (t_gata
INNER JOIN (t_Avikelserapport
INNER JOIN t_Avikelse
ON t_Avikelserapport.rapId = t_Avikelse.rapId)
ON t_gata.gatId = t_Avikelse.gatId)
ON t_kvarter.kvarterId = t_gata.kvarterId
WHERE
(((t_kvarter.kvarterId)=1))
GROUP BY
t_kvarter.kvarterId;
Är det fel? Jag använder mig av Access och konstruerade en fråga och gjorde om den lite
för count. Om jag inte skall ha right join, vad bör jag ha (den fungerar bra)?.
I det här fallet blir det samma resultat som om du använder en INNER JOIN. En RIGHT join innebär att det inte behöver finnas matchande resultat i den vänstra tabellen, dvs t_kvarter, men då du har villkoret
(t_kvarter.kvarterId)=1
så kommer du ändå att välja bort de poster som inte matchar ditt joinvillkor.