eeeMedlem sedan sep. 2005100 inlägg Är helt ny på det här med join och har skummat igenom forumet utan att lyckas lösa mitt problem, men men nu till saken.
Har två tabeller:
Poang:
id (primärnyckel & räknare) | spelar_id | poang | datum
spelare2006
id | namn
Det jag vill göra är att hämta ut alla poäng en viss spelare har fått under en viss månad och därefter lista hans namn.
Jag får ut poängen och hans id (spelar_id från poangtabellen = id från spelare2006tabellen) med följande kod:
"select spelar_id,sum(poang) as spelarens_poang from poang where datum BETWEEN #2008-01-01 01:00:00# AND #2008-02-15 23:59:59# group by spelar_id"
Dock får jag inte joinen att fungera trots massa olika försök, vill alltså skriva ut namn (från spelare2006) och spelarens_poang och loopa genom alla spelare.
Vore kul om någon förstår min virriga fråga och orkar tipsa lite :)
Edit: Kör med Accessdatabas.
emissionMedlem sedan dec. 19996 721 inlägg En fråga mer lämpad för SQL-forumet..
select spelar_id,sum(poang) as spelarens_poang,namn
from poang, spelare2006
where poang.spelar_id=spelare2006.id AND datum BETWEEN #2008-01-01 01:00:00# AND #2008-02-15 23:59:59#
group by spelar_id,namn
eller
select spelar_id,sum(poang) as spelarens_poang,namn
from poang
inner join spelare2006 on poang.spelar_id=spelare2006.id
where AND datum BETWEEN #2008-01-01 01:00:00# AND #2008-02-15 23:59:59#
group by spelar_id,namn
eller du kanske vill ha med spelare som saknar poängrader också?
select id,sum(poang) as spelarens_poang,namn
from spelare2006
left outer join on poang.spelar_id=spelare2006.id AND datum BETWEEN #2008-01-01 01:00:00# AND #2008-02-15 23:59:59#
group by id,namn
eeeMedlem sedan sep. 2005100 inlägg My bad, sorry för felpostningen :r
Testade din kod:
"select spelar_id,sum(poang) as spelarens_poang,namn from poang, spelare2006 where poang.spelar_id=spelare2006.id AND datum BETWEEN #2008-01-01 01:00:00# AND #2008-02-15 23:59:59# group by spelar_id,namn"
Men får då
The specified field 'poang' could refer to more than one table listed in the FROM clause of your SQL statement.
Testade att byta ut sum(poang) till sum(nutestarvi) men det hjälpte inte heller :(
Okej att fråga här eller ska jag fråga i sqlforumet ist?
aasahMedlem sedan mars 20034 471 inlägg Felmeddelandet betyder vanligen att du någonstans har en kolumn vars namn finns i båda tabellerna. Vilken tabell vill du ta ut det från? Du får döpa tabellerna och se till att du väljer från rätt tabell.
Men frågan ser lite småskum ut... har du verkligen en TABELL som heter Poang och en KOLUMN i en annan tabell som också heter poang? Kan det vara det som strular den här gången?
Om poängen du ska räkna finns i spelare2006:
select spelar_id, sum(S.poang) as spelarens_poang, namn
from poang P, spelare2006 S
where P.spelar_id=S.id AND datum BETWEEN #2008-01-01 01:00:00# AND #2008-02-15 23:59:59#
group by P.spelar_id, namn
Annars får du byta S.poang till P.poang
eeeMedlem sedan sep. 2005100 inlägg Tack! Det var ju för att jag hade en poangkolumn i spelare2006 också :)
Stort tack!! Ni är fantastiska!