Blä för att få fram massa snabba siffror från MySQL. Jag fick hjälp i en annan tråd med att hämta siffror snabbt.
Ja, ni ser ju hur min nuvarande lösning ser ut här nedan Jag har lärt mig hur man gör för att enkelt hämta beroende på om t.ex KOrder = 1 eller = 2 osv... men inte när man har så många olika argument i SQL-frågorna...
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=; DATABASE=; UID=;PASSWORD=; OPTION=3"
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM Adresser2006 WHERE Projekt = "&Session("Projekt")&" AND sID ='"&Session("userID")&"' AND AK = 0 AND GS = 0 AND KOrder = 0")
intMinaAdresser = oCount("antal")
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM Adresser2006 WHERE sID ='"&Session("userID")&"' AND AK = 1")
intMinaAK = oCount("antal")
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM Adresser2006 WHERE Projekt = "&Session("Projekt")&" AND sID ='"&Session("userID")&"' AND GS = 1")
intMinaNejKunder = oCount("antal")
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM Adresser2006 WHERE sID ='"&Session("userID")&"' AND KOrder = 1")
intMinaOrdrar = oCount("antal")
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM Adresser2006 WHERE sID ='"&Session("userID")&"' AND KOrder = 3")
intMinaAtgardas = oCount("antal")
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM Arkiv WHERE sID ='"&Session("userID")&"' AND KOrder = 33")
intMinaReturer = oCount("antal")
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM Arkiv WHERE sID ='"&Session("userID")&"' AND GS = 2")
intNejTillKompl = oCount("antal")
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM Arkiv WHERE sID ='"&Session("userID")&"' AND KOrder = 44")
intMinaAA = oCount("antal")
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM ArkivUtanOrdernummer WHERE sID ='"&Session("userID")&"' AND KOrder = 44")
intMinaAA = CInt(intMinaAA) + CInt(oCount("antal"))
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM arkivutanordernummer WHERE sID ='"&Session("userID")&"' AND KOrder = 2")
intMinaTelefonanger = CInt(oCount("antal"))
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM arkiv WHERE sID ='"&Session("userID")&"' AND KOrder = 2")
intMinaTelefonanger = CInt(intMinaTelefonanger) + CInt(oCount("antal"))
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM Arkiv WHERE KOrder = 3 AND sID ='"&Session("userID")&"'")
intMinaReturOK = oCount("antal")
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM ArkivUtanOrdernummer WHERE KOrder = 5 AND sID ='"&Session("userID")&"'")
intMinaEjGodkanda = oCount("antal")
set oCount = Conn.Execute("SELECT COUNT(*) AS antal FROM Arkiv WHERE KOrder = 6 AND sID ='"&Session("userID")&"'")
intMinaSlutbetalda = oCount("antal")
oCount.close
set oCount=nothing
%>
Vore tacksam om någon skulle vilja förklara och visa hur jag ska göra för att snabba upp hämtningen av alla siffror!
Du kan fylla på med flera caseuttryck om det är samma tabell, dvs
sELECT sum(case when Projekt = "&Session("Projekt")&"
AND sID ='"&Session("userID")&"'
AND AK = 0
AND GS = 0
AND KOrder = 0 then 1 else 0 end) as a1,
sum(case when sID ='"&Session("userID")&"'
AND AK = 1 then 1 else 0 end) as a2
FROM Adresser2006
Tjänar man in någon laddningstid om man bygger in frågor från olika tabeller i samma SQL-fråga. Eller går det lika fort att göra 1st fråga för varje tabell?