webForumDet fria alternativet

Kan man inte göra såhär?

Databaser & SQL

8 svar · 304 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1
SQL = "SELECT [antal],count(aID) as antal_posts FROM t_tab

dvs både ha en COUNT() och att den tar ut data i samma SQL fråga?

Medlem sedan nov. 20017 144 inlägg
#2

Använd "group by"

Medlem sedan juni 20019 519 inlägg
#3

hur ska denna se ut då?:

SQL = "SELECT [antal],count(aID) as antal_posts FROM T_tab WHERE SID = " & Sessionen & " AND AID = '" & ArtNr &"'"
Medlem sedan juni 200032 967 inlägg
#4

Det är inte helt uppenbart vad du försöker dig på, men...

... GROUP BY antal

Varför har du klamrat antal?

Medlem sedan juni 20019 519 inlägg
#5

Idén är att köra en asp kod:

SQL = "SELECT count(aID) as antal_posts FROM Temptab WHERE SID = " & Sessionen & " AND AID = '" & ArtNr &"' group by antal"
Set RecSet = Databas.Execute(SQL)
If Not recset.BOF Or Not recset.EOF Then
  inlagg = recset.GetRows()
end if
recset.close : set recset = nothing
Antal_Poster = inlagg(0,0)
Oldorder = inlagg(1,0)

för att slippa göra 2 st recsets för att få ut både "antal" och "count(Aid)" från exakt samma datavärden.

Medlem sedan juni 200032 967 inlägg
#6

Vad är antal då?

Medlem sedan juni 20019 519 inlägg
#7

Hur många man har i sin order redan..

Medlem sedan juni 200032 967 inlägg
#8

Ok, kan du beskriva lite mer vad du vill att SQL-frågan ska returnera, för jag förstår extremt lite. :)

Medlem sedan juni 20019 519 inlägg
#9

Vi ska se om ASP koden kan förklara lite bättre... du vet hur bra jag är på att förklara:

SQL = "SELECT count(aID) as antal_posts FROM Temptab WHERE SID = " & Sessionen & " AND AID = '" & ArtNr &"' group by antal"
Set RecSet = Databas.Execute(SQL)
If Not recset.BOF Or Not recset.EOF Then
  inlagg = recset.GetRows()
end if
recset.close : set recset = nothing
Antal_Poster = inlagg(0,0)
Oldorder = inlagg(1,0)

' **** Gör uppdateringen alt. Lägg till produkt i temptab
If Antal_Poster < 1 Then
 SQL = "INSERT INTO temptab (SID,AID,Antal,Besk,Pris) VALUES("& Sessionen &", '"& ArtNr &"', "& antal &", '"& besk &"', "& pris & ")"
 Databas.Execute(SQL)
else
 NyttAntal = Antal + Oldorder
 SQL = "UPDATE temptab SET antal = "& NyttAntal &"  WHERE SID =" & Sessionen &" and aid= '" & ArtNr &"'"
 Databas.Execute(SQL)
End If

Det jag vill få ut är OM count(aID) as antal_posts är mer än 0 så ska den bara uppdatera annars så ska den lägga in Ordern..
så .............. men vänta... behöver jag verkligen en count'(aID) ? eftersom de SQL satser nedan gör ju en kontroll.... så egentligen behöver jag kanske bara ta ut "antal" ur satsen och sen köra resten av asp koden?

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)