webForumDet fria alternativet

Group by

10 svar · 181 visningar · startad av Addeladde

AddeladdeMedlem sedan jan. 20013 406 inlägg
#1

Hur ska man göra för att kunna sortera efter korg_id så att den senaste produkten som ä inlagd visas högst upp.

om jag lägger till korg_id vid raden Group by så blir det två separata objekt istället för ett som det ska vara.

 
sqlString = "select produkt_namn, produkt_pris, sum(korg_antal) as antal2 " &_
"FROM korg, produkter " &_
"WHERE korg_userID=" & userID & " " &_
"AND korg_produktID= produkt_id " &_
"GROUP by produkt_namn, produkt_pris" & _
"ORDER by korg_id DESC"
SET RS = Con.Execute( sqlString )

Detta felmeddelande får jag

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'by'.
/td/butik/korg2.asp, line 143

------------------
Adde

TobbsterMedlem sedan mars 2001309 inlägg
#2

Då måste du ha med korgid i frågan.....

sqlString = "select produkt_namn,korg_id, produkt_pris, sum(korg_antal) as antal2 " &_
"FROM korg, produkter " &_
"WHERE korg_userID=

Fatta du vad jag menar....

------------------
Plikten framför Allt......

[Redigerat av Tobbster den 26 maj 2001]

AddeladdeMedlem sedan jan. 20013 406 inlägg
#3

Om jag gör på det sätt du beskriver får jag felmeddelandet

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Column 'korg.korg_id' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
/td/butik/korg2.asp, line 143

------------------
Adde

[Redigerat av Addeladde den 26 maj 2001]

TobbsterMedlem sedan mars 2001309 inlägg
#4

Du måste även ha med korg_id i group by.....

------------------
Plikten framför Allt......

AddeladdeMedlem sedan jan. 20013 406 inlägg
#5

Ja men om jag tar med korg_id i group by så blir det två separata objekt som visas istället för att de läggs ihop till ett.

------------------
Adde

TobbsterMedlem sedan mars 2001309 inlägg
#6

Vad då separata objekt.......
Felmeddelandet du får står ju för att antingen måste det stå med i group by eller vara av typen sum,count eller någon sådan aggregat funktion......
Fattar inte riktigt vad som händer.....

Men det är väl jag som är trög....

------------------
Plikten framför Allt......

AddeladdeMedlem sedan jan. 20013 406 inlägg
#7

Det är en butikskorg som ska visa produkter.

Om vi säger att man lägger en pikétröja small och en pikétröja large i korgen. Då hamnar denna beställning på två rader. De har samma korg_userid och samma produkt_id men olika produkt_alternativ.

Korgen som visas ligger i en frame så den ska inte vara så detaljerad. Därför ska den inte visa två tröjorna som två objekt.

Det ska stå så här ungefär
2 st piké tröja á 399 kr

Detta fungerar men jag vill också få den att visa det objektet man lade till senast ska visas högst upp. Anledningen till det är att det är en rullningsbarmeny som är korgen

------------------
Adde

TobbsterMedlem sedan mars 2001309 inlägg
#8

Läggs det man väljer i en separat tabell i databasen ? För då skulle du ju kunna lägga till en kolumn med datum och tid (även sekunder).....
Hur löste du det andra problemet(nyfiken).....

------------------
Plikten framför Allt......

AddeladdeMedlem sedan jan. 20013 406 inlägg
#9

Nej den läggs inte i en separat tabell

den här koden fungerar men när jag byter ut ORDER by produkt_namn till korg_id så fungerar det inte

sqlString = "select produkt_namn, produkt_pris, sum(korg_antal) as antal2 " &_
"FROM korg, produkter " &_
"WHERE korg_userID=" & userID & " " &_
"AND korg_produktID= produkt_id " &_
"GROUP by produkt_namn, produkt_pris" & _
"ORDER by produkt_namn DESC"
SET RS = Con.Execute( sqlString )

------------------
Adde

LarsGMedlem sedan dec. 200012 464 inlägg
#10
sqlString = _
"select produkt_namn, " & _
"produkt_pris, " & _
"sum(korg_antal) as antal2, " &_
"(select min(korg_id) " &_
" from korg " &_
" where korg_userid = k.korg_userid " &_
" and korg_produktid = k.korg_produktid )" & _
"FROM korg k, produkter " &_
"WHERE k.korg_userID=" & userID & " " &_
"AND k.korg_produktID= produkt_id " &_
"GROUP by produkt_namn, produkt_pris" & _
" ORDER by 4 DESC"

------------------
essentitia preter non sans multiplicandum

La till en blank före order by så @anders blir nöjd.

[Redigerat av LarsG den 27 maj 2001]

@ndersMedlem sedan juni 200032 969 inlägg
#11

jag hade nog droppat in ett litet mellanslag före ORDER BY i frågan.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>

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