webForumDet fria alternativet

Räkna databasrader som innehåller en viss text

Databaser & SQL

9 svar · 291 visningar · startad av zlakker

Medlem sedan apr. 2001227 inlägg
Frågan#1

Hur ser koden ut för att räkna antal databasrader i en tabell som innehåller ett speciellt ord.

Tex så har jag en tabell som heter Upload med en kolumn som heter folder. Den innehåller namnet på den mapp som en viss fil ligger i.

På sidan som visa de olika mapparna vill jag skriva ut antalet filer som ligger i den mappen.
När jag skriver mapp så är det inte en fysik mapp utan det är bara ett namn som gör att man delar in filerna i olika kategorier.

Så alltså..räkna antal rader som innehåller ordet "bilder", tex

Medlem sedan dec. 200012 464 inlägg
#2
select count(*) as antal 
from upload 
where folder like '%bilder%'

Flyttas från asp

Medlem sedan apr. 2001227 inlägg
#3

Är det ASP kod?

Medlem sedan dec. 200012 464 inlägg
#4

Nej, det är SQL.

Medlem sedan apr. 2001227 inlägg
#5

Blir det något i denna stil?

			<% Rakna = "select count(*) as antal from tblupload where folder like '%bilder%'"
		  		RecSet.Open Rakna, Connect, 3, 3 %>
Medlem sedan dec. 200012 464 inlägg
#6

Jo, t.ex

set rs = connect.execute(sql)
antal = rs("antal")
Medlem sedan mars 20032 667 inlägg
#7

Ja, eller som position 0, exempelvis rs(0) om nu ditt recordset heter rs.

Medlem sedan apr. 2001227 inlägg
#8

Tack det fungerar!

Nu behöver jag bara få till det sista med att hämta rätt namn.

Hur ska denna rättas till?

			<% 
			sql = "select count(*) as antal from tblupload where folder like '%<% =RecSet("foldername") %>%'"
		  	set rs = connect.execute(sql)
			antal = rs("antal") 
			%>

Eller ev såhär men det blir inte heller rätt:

			<% 
			foldername = RecSet("foldername")
			sql = "select count(*) as antal from tblupload where folder like 'foldername'"
		  	set rs = connect.execute(sql)
			antal = rs("antal") 
			%>
Medlem sedan dec. 200012 464 inlägg
#9
sql = "select count(*) as antal from tblupload where folder like '%" & RecSet("foldername") & "%'"
Medlem sedan apr. 2001227 inlägg
#10

Tackar som tusan LarsG!

Såhär blev lösningen:

<% 
sql = "select count(*) as antal from tblupload where folder like '%" & RecSet("foldername") & "%'"
set rs = connect.execute(sql)
antal = rs("antal") 
%>
268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)