Just nu i M3-nätverket
Gå till innehåll

Två tabeller och count i samma sql snutt


artlind

Rekommendera Poster

Har suttit och trixat i för många timmar nu ögonen snurrar. Försöker med att undvika använda flera sql anrop och slå ihop det till en men lyckas inte med det. Försöker rita upp problemet

 

Har 3 tabeller som jag vill hämta data från. Nyheter, Kommentarer, Profil

 

Ur nyheter så vill jag lista upp de 10 senaste nyheterna och räkna antalet kommentarer kopplade till respektive nyhet och sedan ersätta författarens använderid med dess korrekta användarnamn.

 

Här är koden jag använt hittills som fungerar

 

Call dbOpen()

strSQL = "SELECT TOP 10 * FROM tbl_nyheter ORDER BY log_date DESC"

Set objRS = objCon.Execute(strSQL)

if not (objRS.EOF) then

Do Until objRS.EOF

 

strSQLtemp = "SELECT COUNT(*) AS kommentarer FROM tbl_kommentar WHERE nyheter_sid = '"&objRS("nyheter_sid")&"'"

Set objRStemp = objCon.Execute(strSQLtemp)

strKommentarer = objRStemp("kommentarer")

objRStemp.Close

Set objRStemp = Nothing

 

strSQLtemp = "SELECT * FROM tbl_profil WHERE profil_sid = '"&objRS("log_name")&"'"

Set objRStemp = objCon.Execute(strSQLtemp)

strUsername = objRStemp("profil_anvandarnamn")

objRStemp.Close

Set objRStemp = Nothing

 

 

Här är koden jag gjort ett försök med

 

strSQL = "SELECT TOP 5 tbl_nyheter.rubrik, tbl_nyheter.log_date, tbl_profil.profil_anvandarnamn, (SELECT Count(tbl_kommentar.id) FROM tbl_kommentar WHERE tbl_kommentar.nyheter_sid = tbl_nyheter.sid) FROM tbl_nyheter INNER JOIN tbl_profil ON tbl_nyheter.log_name = tbl_profil.profil_anvandarnamn ORDER BY tbl_nyheter.log_date DESC"

 

och jag får följande felmed:

 

Microsoft JET Database Engine fel '80040e10'

 

Det har inte angetts något värde för en eller flera nödvändiga parametrar.

 

[inlägget ändrat 2008-08-28 12:16:38 av artlind]

 

Tråden flyttad från ASP & VBScript av moderator

 

[inlägget ändrat 2008-08-28 13:09:25 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...