webForumDet fria alternativet
Logga in / Bli medlem

lätt sql fråga :)

Databaser & SQL

9 svar · 378 visningar · startad av Mav

Medlem sedan juni 2000117 inlägg
Trådstart#1

Har en asp sida där jag anropar databasen och kör en stored procedure.
Jag vill skriva ut namn på listan och antalet. Asp koden är inget problem däremot sql frågan i den stored procedure som jag kör.
Så här ser asp koden ut (om ni behöver den):

<%
	set rs = Server.CreateObject("ADODB.RecordSet")
	set rs=conn.execute("execute sp_subscribers")
	sum=0
	while not rs.EOF 
		sum = sum + clng(rs("antal")) 
		response.write(rs("list")&": " & rs("antal")&"<br>")	
	rs.movenext
	wend
 	rs.close
	response.Write("----------------<br>TOTAL: "& sum)
%>

Och SQL koden:

CREATE procedure dbo.sp_subscribers
as
	set nocount on

select count(member_email) as antal, 'SE' from c_member where attribute_2 is not null
union
select count(member_email) as antal, 'NO' from c_member where attribute_4 is not null
union
sort by list
GO

Någonstans efter (member_email) as antal bör jag väl lägga in lite kod för att få med list namnet förmodar jag :)

Tack på förhand!

Medlem sedan juni 200032 967 inlägg
#2

Vad är "listnamnet" för något?

I övrigt; det skall vara order by, inte sort by.

Medlem sedan juni 2000117 inlägg
#3

Listnamnet är 'SE' och 'NO'.

Medlem sedan juni 200032 967 inlägg
#4

Ok, men det har du ju lagt med? På vilket sätt duger inte det?

Medlem sedan juni 2000117 inlägg
#5

Jo, men jag vill ju skriva ut det på asp sidan, hur gör jag det?

Medlem sedan juni 200032 967 inlägg
#6

Antingen sätter du ett alias i proceduren, 'SE' AS listname, och refererar till det i recordsetet, eller så har du som du har det nu, och refererar till indexet 1 istället för fältnamn, response.write recordsetobjektet(1).

mvh

Medlem sedan nov. 20017 144 inlägg
#7

Du skall nog inte ha två alias som heter "antal"

Medlem sedan juni 200032 967 inlägg
#8

Jesper T skrev:

Du skall nog inte ha två alias som heter "antal"

Det spelar inte så stor roll. Det andra är dock onödigt, eftersom det inte påverkar resultatet.

Medlem sedan nov. 20017 144 inlägg
#9

Det har du helt rätt i det skall nog tom. vara så.
Ta bort union före "sort by", och byt ut "sort by" mot ex. order by 2

Medlem sedan juni 2000117 inlägg
#10

Tack för hjälpen!!

274 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
151 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)