webForumDet fria alternativet

count

8 svar · 253 visningar · startad av pellsäter

pellsäterMedlem sedan aug. 2000533 inlägg
#1

Har en räknare som sk aräkna ut hur många gånger de olika artiklarna blivit beställda... Den här visar de olika artikelID men det står 2ggr på alla artiklarna och så är det inte i databasen

sql = "select distinct artikelID, count(artikelID) as X from orderradOld group by artikelID"

Dessuotm har jag en tabell med artiklarna som heter Produkter... kan jag få in dessa namn på produkterna så att jag inte ser artikelID utan namnet på produkten det finns ett artikelID i Prdukter tabellen också!

Hoppas ni förstår...

agneta_rungMedlem sedan juli 2002138 inlägg
#2

Hej!

Jag ser inget fel i din fråga, den borde returnera antal rader med ett och samma artikelId i andra kolumnen. Distinct behövs inte.
För att få dit artikelnamn istället för artikelId kan du skriva så här:

select p.artikelnamn, count(p.artikelnamn) as x 
from orderradOld r, produkter p
where p.artikelId = r.artikelId
group by p.artikelnamn
pellsäterMedlem sedan aug. 2000533 inlägg
#3

tack men den retunerar fortfarande samma antal för varje produkt.......

<%
Set conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
Conn.Open "shop"
sql = "select p.vara, count(p.vara) as x from orderradOld r, produkter p where p.prodid = r.artikelId group by p.vara"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql,conn
antal = rs("X")
%>Här ser du hur många gånger respektive produkt är beställd
<br>
<select size="5">
<% Do until (Rs.eof)%>
<option><%=rs("vara")%> / <%=antal%> ggr <%
rs.movenext
loop
%>

agneta_rungMedlem sedan juli 2002138 inlägg
#4

Var sätter du variabeln antal? Borde du inte använda rs("x") istället?

LarsGMedlem sedan dec. 200012 465 inlägg
#5

flytta

antal = rs("X")

så att den ligger i loopen. Nu sätts den bara för första varan.

pellsäterMedlem sedan aug. 2000533 inlägg
#6

tackar, nu funkar det perfekt!!!
Bengt

JosefMedlem sedan mars 20023 123 inlägg
#7

Är det inte så att MS SQL Server inte stödjer "distinct"????

LarsGMedlem sedan dec. 200012 465 inlägg
#8

Nej, det som är känt är att Access inte har stöd för

select count(distinct aleb) from ogrish

så man får skriva det som

select count(*) from (select distinct aleb from ogrish)

Det är inga problem med distinct i SQL server.

JosefMedlem sedan mars 20023 123 inlägg
#9

Ok...

Genererad på 373 ms · cache AV · v20260730165559-full.f96bc7eb