webForumDet fria alternativet

Loopa och flera SQL

5 svar · 230 visningar · startad av pellsäter

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

Hej

Vill kuna pressentera statistik snyggt.. har en db i access med info om datum för beställning. Jag kan plocka ut antal kunder per datum. hur mkt försäljning per datum och antal ordrar per datum och antalet produkter per datum

Men hur får jag det snyggt i en tabell som jag försökt nedan??

Det funkar inte att skriva en sql sats för varje delmoment verkar det som för då krashar det sedan när den ska loopa i genom det

Är det nåt enkelt jag itne tänkt på!

<%

Set conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
Conn.Open "xxxx"
sql = "Select o.datum, sum(o.antal * o.pris) AS summa from orderRadold o, produkter p where o.artikelID = p.prodID group by o.datum order by datum desc"
sql1 = "select distinct datum, Count(antkund) as x FROM (select distinct kundid as antkund, datum FROM orderradold) group by datum order by datum desc"
Set rs1 = Server.CreateObject("ADODB.Recordset")
rs.open sql,conn
rs1.open sql1,conn
%>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="10%"><font color="#000000">Datum</font></td>
<td width="17%"><font color="#000000">Summa sålda varor</font></td>
<td width="10%"><font color="#000000">Antal kunder</font></td>
<td width="12%"><font color="#000000">Antal produkter</font></td>
<td width="10%"><font color="#000000">Antal ordrar</font></td>
<td width="41%"> </td>
</tr>
<% Do until (Rs.eof)%> <%kr = rs("summa")%> <% Do until (Rs1.eof)%> <%antal = rs1("X")%>
<tr>
<td width="10%"><font color="#000000"><%=rs("datum")%></font></td>
<td width="17%"><font color="#000000"><%=kr%>:-</font></td>
<td width="10%"><font color="#000000"><%=antal%></font></td>
<td width="12%"> </td>
<td width="10%"> </td>
<td width="41%"> </td>
</tr>
<%
rs.movenext
loop
rs1.movenext

loop
%>

Engine^Medlem sedan dec. 20003 887 inlägg
#2

Du bör byta plats på rs.movenext och rs1.movenext, eftersom du har rs1 nästlad innanför rs.

pellsäterMedlem sedan aug. 2000526 inlägg
#3

ok-- då loopar den antal kunder rätt men både datum blir fel... den tar bara det senaste datumet

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Du kan inte nästla looparna på det sättet. Du vill väl gå igenom dom parallellt i stället?

I så fall är det väl bäst att slå ihop frågorna till 1?

pellsäterMedlem sedan aug. 2000526 inlägg
#5

en fråga hade varit jättebra men jag har ingen aning om hur jag skriver den

aasahMedlem sedan mars 20034 471 inlägg
#6

Re: Loopa och flera SQL

pellsäter skrev:

...Jag kan plocka ut antal kunder per datum. hur mkt försäljning per datum och antal ordrar per datum och antalet produkter per datum...

Jag kan ingenting om Access, så jag vet inte om du kan skapa nya tabeller? (create view) Om du kan det så kan du ju göra så att du räknar ut den statistik du är intresserad av i egna tabeller och mellanlagrar resultaten. Och därefter slår ihop dem.
Alltså, om du tar ut datum och antal i KundStat, SäljStat, OrderStat och ProdStat så kan du slå ihop infon mha:
Select K.datum, K.antal, S.antal, O.antal, P.antal
From KundStat K, SäljStat S, OrderStat O, ProdStat P
Where K.datum = S.datum and S.datum = O.datum and O.datum = P.datum;

Det går säkert att göra på något bättre sätt, men detta är vad jag kommer på för ögonblicket.

126 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)