---
title: "Har jag gjort rätt i min sql?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/183316-har-jag-gjort-rätt-i-min-sql"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "saw"
published: "2010-04-25T15:13:43.000Z"
updated: "2010-04-25T16:38:28.000Z"
replies: 2
views: 482
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/183316-har-jag-gjort-rätt-i-min-sql"
---

# Har jag gjort rätt i min sql?

## #1 — saw, 2010-04-25T15:13Z

Jag skull vara väldigt tacksam om ni ville se om jag har gjort rätt i min sql för 
att räknar timmar.

```
SELECT 
Sum(t_tidsrapportPerson.fullTid) AS total, 
t_person.namn, Format(Date(),'mmmm') AS Manad
FROM t_tidsrapportPerson 
INNER JOIN (t_person INNER JOIN t_tidsRapport 
ON t_person.personId = t_tidsRapport.personId) 
ON t_tidsrapportPerson.rappPersonId = t_tidsRapport.rappPersonId
GROUP BY t_person.namn, Format(Date(),'mmmm')
HAVING (((Format(Date(),'mmmm'))='april'))
ORDER BY t_person.namn;
```

.. när jag kollar resultatet så ser det hyffsat ut. :e

Permalänk: https://www.webforum.nu/p/183316

## #2 — nitro2k01, 2010-04-25T15:43Z

1) **Format(Date(),'mmmm')** ser mysko ut. Borde du inte skicka ett kolumnnamn som parameter till **Date()**?
2) Jag tror du har lite prestanda att vinna på att köra jämförelsen eller grupperingen över **Month(nån_kolumn)** (Beror på hur smart databasen är...)
3) Jag tror även du har lite prestanda att vinna på att filtrera ut så mycket du kan med en **WHERE**\-sats innan din **HAVING**\-sats, eftersom det kan vara så att alla rader måste evalueras temporärt innan grupperingen annars. (Igen, detta beror på hur smart din databas-motor är...)

P.S., jag tog mig friheten att byta \[kod\] mot \[highlight=sql\] i ditt inlägg så att koden blir färgkodad och mer läsbar.

Permalänk: https://www.webforum.nu/p/2233777

## #3 — saw, 2010-04-25T16:38Z

Hej.
Jag glömde skriva in att det är acces databas.
Format(Date(),'mmmm') fungerar mot förmodan hyffsat bra, då den skall jämföras med
 resultatet ifrån en dropdown listbox.
Resten av vad du säger låter väldigr inteligent och bra, men där står jag med min
 tvättade hals...
Vad jag därimot kom på är att jag gör fel, den skall ju räkna tid och då blir min sql galen...

Permalänk: https://www.webforum.nu/p/2233782

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/183316-har-jag-gjort-rätt-i-min-sql
