webForumDet fria alternativet

count

Databaser & SQL

8 svar · 253 visningar · startad av pellsäter

Medlem sedan aug. 2000526 inlägg
Frågan#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...

Medlem sedan juli 2002145 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
Medlem sedan aug. 2000526 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
%>

Medlem sedan juli 2002145 inlägg
#4

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

Medlem sedan dec. 200012 464 inlägg
#5

flytta

antal = rs("X")

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

Medlem sedan aug. 2000526 inlägg
#6

tackar, nu funkar det perfekt!!!
Bengt

Medlem sedan mars 20023 561 inlägg
#7

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

Medlem sedan dec. 200012 464 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.

Medlem sedan mars 20023 561 inlägg
#9

Ok...

261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)