SELECT SUM(case when intAlt = 1 then 1 else 0 end)
, SUM(case when intAlt2 = 1 then 1 else 0 end)
, SUM(case when intAlt3 = 1 then 1 else 0 end)
FROM minTabell
WHERE sID = 200
SELECT SUM(case when intAlt = 1 then 1 else 0 end)
, SUM(case when intAlt2 = 1 then 1 else 0 end)
, SUM(case when intAlt3 = 1 then 1 else 0 end)
FROM minTabell
WHERE sID = 200
typ så här?
SELECT SUM(case when intAlt = 1 then 1 else 0 end) AS antal1
, SUM(case when intAlt2 = 1 then 1 else 0 end) AS antal2
, SUM(case when intAlt3 = 1 then 1 else 0 end) AS antal3
FROM minTabell
WHERE sID = 200
<table width="100%" border="0" cellpadding="5" cellspacing="0" style="margin:0 0 20px 0;background:#9999ff;text-align:left;">
<tr style="background:#333;color:#FFF;">
<td width="50%"><b>Namn</b></td>
<td width="10%"><b>Ordrar#</b></td>
<td width="20%"><b>Telefonånger</b></td>
</tr>
<%
getDatabase = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=; DATABASE=; UID=;PASSWORD=; OPTION=3"
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open = getDatabase
Set Recset = Server.CreateObject("ADODB.Recordset")
SQL = "Select * FROM Users WHERE Grad = 1 ORDER BY Namn asc"
RecSet.Open SQL, Connect, 1, 2
If RecSet.EOF Then
Response.Write("Tomt!")
Else
Color = "EEE"
Do Until RecSet.EOF
' Summa antalet KOrder = 1 och antalet KOrder = 2
Set oCount = Connect.Execute("SELECT SUM(case when KOrder = 1 then 1 else 0 end) as antalOrdrar, SUM(case when KOrder = 2 then 1 else 0 end) as antalTelanger FROM Arkiv WHERE sID = '"&RecSet("sID")&"'")
antalOrdrar = oCount("antalOrdrar")
antalTelanger = oCount("antalTelanger")
oCount.close
Set oCount=nothing
procentAntal = procentAntalGS + procentAntalOrdrar
%>
<tr style="background:#<%=Color%>;">
<td><%=RecSet("Namn")%></td>
<td><%=antalOrdrar%></td>
<td><%=antalTelanger%></td>
</tr>
<%
If Color = "EEE" Then
Color = "FCFCFC"
Else
Color = "EEE"
End If
RecSet.MoveNext
Loop
End If
%>
</table>
Feltyp: ADODB.Recordset (0x800A0CC1) Objektet kunde inte hittas i mängden med det begärda namnet eller numret.
Set oCount = Connect.Execute("SELECT SUM(case when KOrder = 1 then 1 else 0 end) as antalOrdrar, SUM(case when KOrder = 2 then 1 else 0 end) as antalTelanger FROM Arkiv WHERE sID = '"&RecSet("sID")&"'")
Med följande kod, får jag följande felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E31)
[MySQL][ODBC 3.51 Driver][mysqld-5.0.24a-community-nt]The used SELECT statements have a different number of columns
Jag har trippelkollat så att dom båda tabellerna har rätta antalet kolumner, och alla kolumnerna har rätt egenskaper... varför funkar det inte för? Det jag vill göra är att räkna ihop lite grejer (vad ser ni nedanför) från 2st olika kolumner!
' Summa antalet KOrder = 1 och antalet KOrder = 2
Set oCount = Connect.Execute("SELECT SUM(case when KOrder = 1 then 1 else 0 end) as antalOrdrar, " & _
"SUM(case when KOrder = 2 then 1 else 0 end) as antalTelanger, " & _
"SUM(case when KOrder = 3 then 1 else 0 end) as antalReturer, " & _
"SUM(case when KOrder = 4 then 1 else 0 end) as antalAA, " & _
"SUM(case when KOrder = 6 then 1 else 0 end) as antalSlutbetalda " & _
"FROM Arkiv WHERE sID = '"&RecSet("Namn")&"' " & _
"UNION SELECT SUM(case when KOrder = 5 then 1 else 0 end) as antalEjgodkanda " & _
"FROM ArkivUtanOrdernummer WHERE sID = '"&RecSet("Namn")&"'")
antalOrdrar = oCount("antalOrdrar")
antalTelanger = oCount("antalTelanger")
antalReturer = oCount("antalReturer")
antalAA = oCount("antalAA")
antalSlutbetalda = oCount("antalSlutbetalda")
antalEjgodkanda = oCount("antalEjgodkanda")
oCount.close
Set oCount=nothing
nu är frågan hur jag gör en subquery tíll min sql-fråga... har försökt att fixa det själv innan jag frågar, men jag förstår inte riktigt hru man gör :/
SELECT
första_fältet, andra_fältet, tredje_fältet, fjärde_fältet, femte_fältet,
(SELECT sjättefältet FROM någon_tabell) AS sjätte_fältet
FROM
tabell
...
272 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2