webForumDet fria alternativet

[MySQL] Hämta data från två tabeller

2 svar · 481 visningar · startad av Sparven

SparvenMedlem sedan apr. 200378 inlägg
#1

Jag försöker komma på hur jag på ett så smidigt sätt som möjligt kan räkna ut poängligor utifrån två tabeller, en vid namn spelare och en som heter hockeystatistik. De ser ut på följande sätt:

tabell.SPELARE
Fält  		Typ   		Null
id  		int(4) 		Nej
lag  		int(2) 		Nej
fornamn  	varchar(20) 	Nej
efternamn  	varchar(40) 	Nej
position  	char(2) 	Nej

tabell.HOCKEYSTATISTIK
Fält  		Typ   	Null
id  		int(10) Nej
spelarid  	int(3) 	Nej
gp  		int(1) 	Nej
g  		int(2) 	Nej
a  		int(2) 	Nej
pts  		int(2) 	Nej
plusminus  	int(2) 	Nej
pim  		int(2) 	Nej
shots  		int(2) 	Nej
ga  		int(2) 	Nej
min  		int(3) 	Nej

För varje match en spelare har spelat får han en rad i tabellen HOCKEYSTATISTIK, därmed kommer samma spelarid återkomma på olika rader. Jag kan få ut varje spelares totala statistik genom att SQL-raden:

select sum(gp) as tgp, ..., sum(shots) as tshots from hockeystatistik group by spelarid

Problemet är att jag med hjälp av informationen som finns i tabellen SPELARE ska kunna sortera bort spelare baserade på vilket värde de har i, exempelvis, fältet spelare.position. Hur skriver man SQL-raden för att få ut den informationen?

Tack på förhand

Peter SMedlem sedan dec. 20025 483 inlägg
#2

Någonting sådant här:

select sum(hs.gp) as tgp,
       sum(hs.shots) as tshots,
       ...,
       hs.spelarid
  from hockeystatistik hs
inner
  join spelare s
    on hs.spelarid = s.id
 where s.position  = 'GK'
group
    by hs.spelarid
SparvenMedlem sedan apr. 200378 inlägg
#3

Peter S: Tackar!

127 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)