webForumDet fria alternativet

Inner join / 3 tabeller

3 svar · 338 visningar · startad av SannyW

SannyWMedlem sedan jan. 2003447 inlägg
#1

Hej!

Har ett problem med inner join, har sökt runt men hittar inget som hjälper mig att förstå problemet.

Jag försöker att skriva ut data från tbl_medlem och tbl_spelarestatistik.

Alltså vill att resultatet skall bli något liknande:
Nisse 1 mål
Kalle 2 mål

Jag har kommit så långt att jag kan skriva ut data från tbl_spelarestatistik, men vill kunna binda ihop medlemID med det rätta namnet som ligger i tbl_medlem.

Detta är lite nytt så det känns lite lurigt, så har ni tid så förklara gärna lite.

Tack på förhand.

Sanny

Databasuppbyggnaden:

tbl_sasong
sasongID
sasong

tbl_medlem
medlemID
sasongID
namn

tbl_spelarestatistik
ID
medlemID
matcher
mal
ass
poang
lag

SQL = "Select matcher FROM tbl_spelarestatistik WHERE medlemID IN"_
	   & " (Select medlemID FROM tbl_medlem"_
	   & " INNER JOIN tbl_sasong"_
	   & " ON tbl_medlem.sasongID = tbl_sasong.sasongID"_
	   & " WHERE tbl_sasong.sasong = '2001/2002');"
LarsGMedlem sedan dec. 200012 465 inlägg
#2
Select namn,matcher 
FROM tbl_spelarestatistik ts inner join tbl_medlem tm
on ts.medlem_id = tm.medlem_id
 WHERE tm.sasongID IN
 (Select sasongId 
     from tbl_sasong
 WHERE tbl_sasong.sasong = '2001/2002')

Förstår dock inte varför du har sasongID i tbl_member

SannyWMedlem sedan jan. 2003447 inlägg
#3

Tack för hjälpen LarsG, det funkar kanon.

Angående sasongID i tbl_medlem så är det för att kunna ha ett medlemsregister. Genom att skriv in följande:

id
sasongid (för året kopplat till tbl_sasong)
namn
personnr
adress
lag
position (spelare/tränare)

Nu när jag sitter här och skriver mitt svar så slår det mig att det kanske är lite dumt upplägg.

Det jag då tänker på är lag och position (spelare/tränare), man ändrar ju kanske lag. Som typ pojklagen. Samma människar kan ju även bli tränare, hmmm...

Min första tanke på ovanstående var att varje år skriva in.
ID, namn, personnr, adress, lag, position och även sasongId.

Då kan jag ju sortera ut per sasongId vilka som tillhör respektiva lag. Men jag kommer att skriva en mass onödig information flera gånger över längre period kom jag nu på.

Frågan hör ju inte direkt hit, men är det någon som har något förslag så är det välkommet.

Mvh

Sanny

SannyWMedlem sedan jan. 2003447 inlägg
#4

Fortsätter i denna tråden då det fortfarande handlar om inner join.

Försöker få in ett where, med vill bara inte funka.

	SQL = "Select favorit,namn,lagnamn"_ 
	& " FROM (((tbl_presentation ts"_
        & " inner join tbl_spelare tm"_
	& " on ts.spelareId = tm.spelareId)"_
	& " inner join tbl_medlem tme"_
	& " on tme.medlemId = tm.medlemId)"_
	& " inner join tbl_lag tl"_
	& " on tl.lagID = tm.lagId)"_
	[b]& " WHERE tm.sasongId IN"_
 	& " (Select sasongId"_
     	& " from tbl_sasong"_
 	& " WHERE tbl_sasong.sasong = '2004/2005')[/b];"
Genererad på 368 ms · cache AV · v20260730165559-full.f96bc7eb