Asa Medlem sedan dec. 2001 1 860 inlägg Frågan 5 nov. 2003 18:54 #1 Varför får jag följande felmess:
Microsoft JET Database Engine (0x80040E14)
Kopplingsuttrycket stöds inte
På denna sträng:
Set Lag=Conn.Execute("Select Sum(utv) as antal,lagnamn From spelare inner join lagen on lag = lagID group by 1 order by antal desc")
Jag vill sortera efter Sum(utv) as antal
Engine^ Medlem sedan dec. 2000 3 887 inlägg Du måste ange i JOIN-uttrycket vilka tabeller det är du refererar till. Du måste även ange i GROUP BY vilka fält från SELECT du vill gruppera på.
SELECT SUM(utv) AS antal, lagnamn
FROM spelare
INNER JOIN lagen
ON lagen.lag = spelare.lagID
GROUP BY lagnamn
ORDER BY antal DESC
Asa Medlem sedan dec. 2001 1 860 inlägg Nu får jag följande felmess:
Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.
utv är tal
lagnamn är text
lag är tal
lagID är räknare
L LarsG Medlem sedan dec. 2000 12 464 inlägg SELECT SUM(utv) AS antal, lagnamn
FROM spelare
INNER JOIN lagen
ON lagen.lag = spelare.lagID
GROUP BY lagnamn
ORDER BY 1 DESC
Access klarar inte av korrelationsnamn i order by.
Engine^ Medlem sedan dec. 2000 3 887 inlägg
LarsG skrev:
Access klarar inte av korrelationsnamn i order by.
Ghaaa... och det felmeddelandet som jag mer än sällan råkar ut för. Borde ha lärt mig vid det här laget :OO
Engine^ Medlem sedan dec. 2000 3 887 inlägg Tja... är
ON lagen.lag = spelare.lagID
...rätt? Eller ska det egentligen vara
ON lagen.lagID = spelare.lag
:q
red. putsade till lite grann ;)
Asa Medlem sedan dec. 2001 1 860 inlägg Hehe, preis så ja, fast med rätt stavning :)
Asa Medlem sedan dec. 2001 1 860 inlägg Vad äre för fel med denna? Access används.
SELECT Count(M.malID) AS antal, S.namn, S.lag, S.nummer
FROM mal M Inner JOIN spelare S
ON M.spelare = S.spelarID
GROUP BY S.namn
ORDER BY 1 DESC,2 ASC
Felmess:
Du försökte köra en fråga med en mängdfunktion som inte innehöll det angivna uttrycket 'lag'.
namn = text
spelare = tal
nummer = tal
spelarID = räknare
L LarsG Medlem sedan dec. 2000 12 464 inlägg När man använder group by så måste alla kolumner i select-listan, som inte utgör ett argument till en aggregatfunktion, vara med i group by.
Behöver nog backa lite.
Beskriv tabellerna mer noggrant, ange exempel på datainnehåll och vilket resultat du förväntar dig.
SELECT Count(M.malID) AS antal, S.namn, S.lag, S.nummer
FROM mal M Inner JOIN spelare S
ON M.spelare = S.spelarID
GROUP BY S.namn, S.lag, S.nummer
ORDER BY 1 DESC,2 ASC
Asa Medlem sedan dec. 2001 1 860 inlägg Ahh, tackar :) Funkar ju bra då!