webForumDet fria alternativet

Räkna och hämta poster

3 svar · 195 visningar · startad av Skarre

SkarreMedlem sedan apr. 20012 427 inlägg
#1

Jag har en tabell innehållande detaljer om olika projekt och en annan tabell med information bilder tillhörande dessa projekt. När jag listar projekten vill jag visa en knapp med texten "visa bilder" och denna knapp ska endast visas om det finns några bilder kopplade till projektet.

Den rödmarkerade hämtningen som körs en gång för varje iterering känns fullständigt vansinnig och jag undrar därför om/hur jag kan ta reda på om det finns bilder till projektet redan i första frågan på något sätt (jag använder MS Access).

Så här ser koden ut just nu:

Set conn = OpenConn()
Set rs = conn.Execute("SELECT * FROM projects")
If Not rs.EOF Then
	Do Until rs.EOF
	
		'Skriver ut någonting...

		[red][b]Set rscount = conn.Execute("SELECT COUNT(*) FROM project_pics WHERE projectid = " & rs("projectid"))
		piccount = rscount(0)
		rscount.Close : Set rscount = Nothing[/b][/red]
		If piccount > 0 Then
			'skriver ut bildknappen...
		End If
		
		rs.MoveNext
	Loop
End If
rs.Close : Set rs = Nothing
conn.Close : Set conn = Nothing
LarsGMedlem sedan dec. 200012 464 inlägg
#2
select count(pp.projectid),p.projetcid
  from projects as p left outer join project_pics as pp
on p.projectid = pp.projectid
group by p.projectid
SkarreMedlem sedan apr. 20012 427 inlägg
#3

Jag testade frågan, men jag behöver samtidigt hämta all information ur "projects" och det tillåts jag inte
göra.

select count(pp.projectid),[b]p.*[/b]
  from projects as p left outer join project_pics as pp
on p.projectid = pp.projectid
group by p.projectid

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Det går inte att gruppera fält tillagda med '*' (p).

SkarreMedlem sedan apr. 20012 427 inlägg
#4

Aha! Nu hajar jag.

select count(pp.projectid),p.projectid, p.client, p.project, p.mission
  from projects as p left outer join project_pics as pp
on p.projectid = pp.projectid
group by p.projectid, p.client, p.project, p.mission
125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)