webForumDet fria alternativet

INNER JOIN och COUNT från annan tabell?

7 svar · 437 visningar · startad av tlee

tleeMedlem sedan mars 2001290 inlägg
#1

Hej,

Är det möjligt att sammanslå dessa två frågorna på något sätt.

SELECT TOP 90 tLink.fId, tLink.fLinkUrl, tLink.fLinkName, tLink.fClickCounter,
       tLink.fDate, tLink.fCatId, tCat.fName 
FROM tLink 
  INNER JOIN tCat ON tLink.fCatId = tCat.fId
WHERE tLink.fMode=1 
ORDER BY tLink.fDate, tLink.fId;
SELECT COUNT(*) AS intCommentCount FROM tComment WHERE fLinkId=tLink.fId;

/t

emissionMedlem sedan dec. 19996 721 inlägg
#2
SELECT TOP 90 tLink.fId, tLink.fLinkUrl, tLink.fLinkName, tLink.fClickCounter,
       tLink.fDate, tLink.fCatId, tCat.fName, COUNT(tComment.fLinkId) AS intCommentCount 
FROM tLink 
  INNER JOIN tCat ON tLink.fCatId = tCat.fId
  LEFT JOIN tComment ON tLink.fId = tComment.fLinkId
WHERE tLink.fMode=1
GROUP BY  tLink.fId, tLink.fLinkUrl, tLink.fLinkName, tLink.fClickCounter,
       tLink.fDate, tLink.fCatId, tCat.fName
ORDER BY tLink.fDate, tLink.fId;
tleeMedlem sedan mars 2001290 inlägg
#3

Jag testkör frågan i Access och får följande svar.

Syntaxfel (operator saknas) i frågeuttrycket 'tLink.fCatId = tCat.fId LEFT JOIN tComment ON tLink.fId = tComment.fLinkId'

emissionMedlem sedan dec. 19996 721 inlägg
#4

Access kan vara lite grinigt

SELECT TOP 90 tLink.fId, tLink.fLinkUrl, tLink.fLinkName, tLink.fClickCounter,
       tLink.fDate, tLink.fCatId, tCat.fName, COUNT(tComment.fLinkId) AS intCommentCount 
FROM tLink 
  INNER JOIN tCat ON (tLink.fCatId = tCat.fId)
  LEFT OUTER JOIN tComment ON (tLink.fId = tComment.fLinkId)
WHERE tLink.fMode=1
GROUP BY  tLink.fId, tLink.fLinkUrl, tLink.fLinkName, tLink.fClickCounter,
       tLink.fDate, tLink.fCatId, tCat.fName
ORDER BY tLink.fDate, tLink.fId;
tleeMedlem sedan mars 2001290 inlägg
#5

fortfarande fel..

Syntaxfel (operator saknas) i frågeuttrycket 'tLink.fCatId = tCat.fId LEFT OUTER JOIN tComment ON (tLink.fId = tComment.fLinkId)'

Har felet det att göra med att det är en Access databas?
Kommer börja köra mot en mysql om några dagar, kommer frågan fungera mot den databasen?

/t

Jesper TMedlem sedan nov. 20017 144 inlägg
#6

Moffa in en drös med parenteser. Access gillar dem.

...kommer frågan fungera mot den databasen?

Inte med "top", mysql använder limit.

LarsGMedlem sedan dec. 200012 464 inlägg
#7
SELECT TOP 90 tLink.fId, tLink.fLinkUrl, tLink.fLinkName, tLink.fClickCounter,
       tLink.fDate, tLink.fCatId, tCat.fName, COUNT(tComment.fLinkId) AS intCommentCount 
FROM (tLink 
  INNER JOIN tCat ON tLink.fCatId = tCat.fId)
  LEFT OUTER JOIN tComment ON tLink.fId = tComment.fLinkId
WHERE tLink.fMode=1
GROUP BY  tLink.fId, tLink.fLinkUrl, tLink.fLinkName, tLink.fClickCounter,
       tLink.fDate, tLink.fCatId, tCat.fName
ORDER BY tLink.fDate, tLink.fId
tleeMedlem sedan mars 2001290 inlägg
#8

grymt.. tack för hjälpen!

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