webForumDet fria alternativet

Hämta från db (access)

6 svar · 375 visningar · startad av Asa

AsaMedlem sedan dec. 20011 860 inlägg
#1

Jag vill hämta data från en databas och även räkna ut flera olika grejjer i den sql´n.

Databasen ser ut så här på det jag vill hämta!
lagen:
lagnamn
lagID
serie

matcher:
hemmalag - hemmalaget
bortalag - bortalaget
hemma - resultat för hemmalag
borta - resultat för bortalag
datum - datum för match
serie - vilken serie matchen är i

Det ska vara en SQL om så möjligt!

Ifrån lagen vill ha detta:
* Hämta lagnamn, lagID och serie

Ifrån matcher vill göra detta:
* Räkna ihop antal spelade matcher per lag som utgår ifrån dagens datum
* Räkna vunna matcher där hemma är mer än borta* Räkna oavgjorda matcher där hemma är lika borta
* Räkna förlorade matcher där hemma är mindre än borta
* Räkna ut antal gjorda mål
* Räkna ut antal insläppta mål
* Räkna ut skillnaden mellan insläppta och gjorda mål
* Räkna ut hur många poäng som laget har och sortera efter detta med mest poäng verst. Vunna = 3p, Oavgjorda = 1p och Förlorade=0p.

Hoppas det är nån som kan hjälpa mig!
Kolla här hur jag menar:
http://www.gruvsjo.com/resultat/index.asp?serie=1

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#2

Jag använder den här frågan.

SELECT s.ID, s.Namn,
Count(s.ID) AS games, 
-Sum((s.ID=m.lagid_a And m.resultat_a>m.resultat_b) Or (s.ID=m.lagid_b And m.resultat_a<m.resultat_b)) AS win,
-Sum(m.resultat_a=m.resultat_b) AS tie, 
-((Count(s.ID))-(Sum((s.ID=[lagid_a] And m.resultat_a>m.resultat_b) Or (s.ID=[lagid_b] And m.resultat_a<m.resultat_b)))-(Sum(m.resultat_a=m.resultat_b))) AS lost,
-((Sum((s.ID=[lagid_a] And m.resultat_a>m.resultat_b) Or (s.ID=m.lagid_b And m.resultat_a<m.resultat_b))*2)+(Sum(m.resultat_a=m.resultat_b))) AS poang,
-Sum((s.ID=[lagid_a])*m.resultat_a+(s.ID=m.lagid_b)*m.resultat_b) AS plus,
-Sum((s.ID=[lagid_a])*m.resultat_b+(s.ID=m.lagid_b)*m.resultat_a) AS minus,
-Sum((s.ID=[lagid_a])*m.resultat_a+(s.ID=m.lagid_b)*m.resultat_b)-Sum((s.ID=[lagid_a])*m.resultat_b+(s.ID=m.lagid_b)*m.resultat_a) AS plusminus
FROM s_deltagande_lag AS s LEFT JOIN s_matcher AS m ON s.ID=m.lagid_a Or s.ID=m.lagid_b
WHERE s.serie_ID=2 And m.uppdaterad=true
GROUP BY s.ID, s.Namn
ORDER BY 7 DESC , 10 DESC , 8 DESC , 9;

Den kan kanske hjälpa dig

AsaMedlem sedan dec. 20011 860 inlägg
#3

Okej! Ska kika på den!

AsaMedlem sedan dec. 20011 860 inlägg
#4

Varför funkar inte lost?! Visar helt konstigt! Kolla här:
http://www.gruvsjo.com/resultat/index.asp?serie=1

SELECT L.lagID, L.LagNamn,
Count(L.lagID) AS games, 
Sum((L.lagID=M.hemmalag And M.hemma>M.borta) Or (L.lagID=M.bortalag And M.hemma<M.borta)) AS win, 
Sum(M.hemma=M.borta) AS tie, 
[i]((Count(L.lagID))-(Sum((L.lagID=M.hemmalag And M.hemma>M.borta) Or (L.lagID=M.bortalag And M.hemma<M.borta)))-(Sum(M.hemma=M.borta))) AS lost,[/i] 
((Sum((L.lagID=[hemmalag] And M.hemma>M.borta) Or (L.lagID=M.bortalag And M.hemma<M.borta))*2)+(Sum(M.hemma=M.borta))) AS poang, 
Sum((L.lagID=[hemmalag])*M.hemma+(L.lagID=M.bortalag)*M.borta) AS plus, 
Sum((L.lagID=[hemmalag])*M.borta+(L.lagID=M.bortalag)*M.hemma) AS minus, 
Sum((L.lagID=[hemmalag])*M.borta+(L.lagID=M.bortalag)*M.hemma)-Sum((L.lagID=[hemmalag])*M.hemma+(L.lagID=M.bortalag)*M.borta) AS plusminus 
FROM lagen L LEFT JOIN matcher M 
ON L.lagID=M.hemmalag Or L.lagID=M.bortalag 
WHERE L.serie=" & Request.QueryString("serie") & " 
GROUP BY L.lagID, L.LagNamn ORDER BY 4
andreas_lindhMedlem sedan jan. 20011 140 inlägg
#5

Prova

games - win - tie AS Lost
AsaMedlem sedan dec. 20011 860 inlägg
#6

Har redan testat! Visar lika! Borde ju visa rätt men det är ju helmysko!

AsaMedlem sedan dec. 20011 860 inlägg
#7

Fixade det! På nå vis så visar Win, tie och minus på antal matcher och jag hade gjort en replace på minustecknet. Så därför blev det ex 28 för det var ju - 28.

Jaja, men strunt samma. FUnkade ju iallafall men fattar inte varför det blev minus när man skrev ut wins och ties

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