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....
10 svar · 223 visningar · startad av Addeladde
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
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....
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
Du måste även ha med korg_id i group by.....
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.
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....
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
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).....
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 )
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"
jag hade nog droppat in ett litet mellanslag före ORDER BY i frågan.