webForumDet fria alternativet

Kopplingsuttrycket stöds inte

12 svar · 327 visningar · startad av Asa

AsaMedlem sedan dec. 20011 860 inlägg
#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. 20003 887 inlägg
#2

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
AsaMedlem sedan dec. 20011 860 inlägg
#3

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

LarsGMedlem sedan dec. 200012 464 inlägg
#4
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.

AsaMedlem sedan dec. 20011 860 inlägg
#5

Hmm, får samma felmess.

Engine^Medlem sedan dec. 20003 887 inlägg
#6

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. 20003 887 inlägg
#7

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 ;)

AsaMedlem sedan dec. 20011 860 inlägg
#8

Hehe, preis så ja, fast med rätt stavning :)

AsaMedlem sedan dec. 20011 860 inlägg
#9

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

AsaMedlem sedan dec. 20011 860 inlägg
#10

Nån som vet?

LarsGMedlem sedan dec. 200012 464 inlägg
#11

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.

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#12
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
AsaMedlem sedan dec. 20011 860 inlägg
#13

Ahh, tackar :) Funkar ju bra då!

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