webForumDet fria alternativet

Hjälp med sammnställning

Databaser & SQL

5 svar · 225 visningar · startad av cyprys

Medlem sedan dec. 20003 563 inlägg
Frågan#1

Ok. Jag har två tabeller.

tbl_sporter
--------------------
ID | counter
sport | char

tbl_nyheter
--------------------
ID | counter
sport | int
datum | date
--och en del till--

Vad jag vill göra är att få fram en tabell i detta format grupperat efter sporter. Har försökt några gånger men får det helt enkelt inte att riktigt gå ihop.

Sport | Antal poster i tbl_nyheter som har tbl_nyheter.sport = tbl_sporter.ID | senaste tbl_nyheter.datum

Eller skrivet på svenska:
Sport: Fotboll -- Antal nyheter: 32 -- Senaste nyheten: 2002-10-20

De tre vill jag få ut. Hur skriva SQL-koden? :q

Medlem sedan dec. 200012 464 inlägg
#2
select tbl_sporter.sport,count(*) as antal , max(datum) as senast
from tbl_sporter , tbl_nyheter
where tbl_sporter.id = tbl_nyhter.sport
group by tbl_sporter.sport
Medlem sedan dec. 20003 563 inlägg
#3

Hehe :e .
Hade en stark aning att LarsG skulle komma occh räta ut mina frågetecken. :)
Men om jag vill lista alla sporter, även de som inte har några nyheter än, hur gå till väga då?

Medlem sedan dec. 20003 563 inlägg
#4

Upptäckte nu att jag även är behov av att få med ID-numret. Men den säger bara:
Du försökte köra en fråga med en mängdfunktion som inte innehöll det angivna uttrycket 'id'.
varför kan man inte bara välja id-numret?

Medlem sedan dec. 200012 464 inlägg
#5
select  tbl_sporter.id,tbl_sporter.sport,count(tbl_nyhter.sport) as antal , max(datum) as senast
from tbl_sporter left outer join tbl_nyheter
on tbl_sporter.id = tbl_nyhter.sport
group by  tbl_sporter.id,tbl_sporter.sport
Medlem sedan dec. 20003 563 inlägg
#6

Du är en klippa!!! :e

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)