Om jag har nedan tabeller och vill räkna ut vilket lag som har mest poäng och sedan sortera på det lag som har mest BortaLagRes+HemmaLagRes hur ska jag göra då?
tblLag
ID
Namn
------------------------
tblMatcher
ID
HemmaLagID
HemmaLagRes
BortaLagID
BortaLagRes
Spelad
Datum
Rond
TurneringsID
------------------------
tblTurneringar
ID
Namn
Jag har funderat på hur man ska göra för att få det att fungera.
select TotalPoang in
(select HemmaLagRes from tblMatcher where HemmaLagID = [B]!! lagets id !![/B])
+
(select BortaLagRes from tblMatcher where BortaLagID= [B]!! lagets id !![/B])
Det är förmodligen inte sånt här man ska fundera på en lördagseftermiddag men jag har inget bättre för mig :)
SELECT tblLag.Namn, (SELECT SUM(BortaLagRes) FROM tblMatcher WHERE BortaLagID = BortaLagID) AS BortaLagRes, (SELECT SUM(HemmaLagRes) FROM tblMatcher WHERE HemmaLagID = HemmaLagID) AS HemmaLagRes
FROM tblMatcher INNER JOIN
tblLag ON tblMatcher.HemmaLagID = tblLag.ID AND
tblMatcher.BortaLagID = tblLag.ID
Det borde väl bli nåt åt det hållet jag ska göra men jag får inte ihop det riktigt. Det är ok att samla alla deras hemmalag poäng i en kolumn och alla deras bortalagpoäng i en kolumn i värsta fall.
Någon som kan ge mig en knuff i "rättare" riktning?
SELECT
tblLag.Namn,
tblLag.ID,
myHemmaLagRes.HemmaLagRes
FROM
tblLag LEFT OUTER JOIN
(
SELECT
SUM(HemmaLagRes) AS HemmaLagRes,
HemmaLagID
FROM
tblMatcher LEFT OUTER JOIN
tblLag ON tblMatcher.HemmaLagID = tblLag.ID
WHERE
(tblMatcher.HemmaLagID = tblLag.ID )
GROUP BY
tblLag.ID,
tblMatcher.HemmaLagID
) AS myHemmaLagRes ON tblLag.ID = myHemmaLagRes.HemmaLagID