webForumDet fria alternativet

Group by eller liknande?

Databaser & SQL

7 svar · 231 visningar · startad av jonne

Medlem sedan jan. 20011 154 inlägg
Frågan#1

Baserat på detta innehåll i en accessdatabas

iID	AnstNr	iTime	         workedTime
25	8	2005-01-26	19
26	10	2005-01-26	19
27	10	2005-01-26	0
28	8	2005-01-26	0
29	10	2005-01-26	0
30	10	2005-01-26	6
31	8	2005-01-26	8

hur får jag fram detta resultatet

iTime		AnstNr	workedTime
20050126	8	27
20050126	10	25

för det ska väl gå?

Medlem sedan mars 20032 667 inlägg
#2

Re: Group by eller liknande?

jonne skrev:

Baserat på detta innehåll i en accessdatabas

iID	AnstNr	iTime	         workedTime
25	8	2005-01-26	19
26	10	2005-01-26	19
27	10	2005-01-26	0
28	8	2005-01-26	0
29	10	2005-01-26	0
30	10	2005-01-26	6
31	8	2005-01-26	8

hur får jag fram detta resultatet

iTime		AnstNr	workedTime
20050126	8	27
20050126	10	25

för det ska väl gå?

Hmm, jag ser tyvärr inte sambandet. Vad är det du vill åstadkomma?

Medlem sedan jan. 20011 154 inlägg
#3

Anställd nummer 8 har jobbat totalt 27 minuter 2005-01-26 (19+0+8)

Alltså få ut en totalsumma för varje anställd för varje datum.

Medlem sedan dec. 20025 483 inlägg
#4
select itime, anstnr, sum(workedtime) 
from tabell 
group by itime, anstnr
Medlem sedan jan. 20011 154 inlägg
#5

Ah wunderbar Pater S. Precis så jag menade. Tusen tack.

Medlem sedan jan. 20011 154 inlägg
#6

Tilläggsfråga: Hur skulle det se ut att joina mot min tblStaff för att få fram namnet i klartext istället för bara AnstNr.

Heter AnstNr i tblStaff med.

Medlem sedan dec. 20025 483 inlägg
#7

Om tabellen i ditt första inlägg heter tabell och namnkolumnen i tblStaff heter namn:

select t1.itime, t2.namn, sum(t1.workedtime) 
from tabell t1, tblstaff t2 
where t1.anstnr = t2.anstnr 
group by t1.itime, t2.namn

:)

Medlem sedan jan. 20011 154 inlägg
#8

Tack tack :)

257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)