PikkenixMedlem sedan mars 2003116 inlägg Kan någon hjälpa mig med att utforma en SQL sträng till detta, står helt still i skallen på mig...
Tabeller:
ARTIKLAR
-----
pris, artikelid
ORDERS
----
orderid, datum, betalning
ORDERARTIKLAR
----
orderid, artikelid
KUNDER
----
fnamn, enamn, epost
Det jag vill få fram i mitt recordset är följande:
orders.orderid, orders.datum, orders.betalning, SUM(artiklar.pris), kunder.fnamn, kunder.enamn, kunder.epost
Tacksam för all hjälp jag kan få.
OveRRidEMedlem sedan feb. 200112 078 inlägg Felpostad, flyttas till SQL. Det här har inget med ASP eller VBScript att göra.
MVH
OveRRidE
moderator, webForum
SebbeMedlem sedan jan. 20032 285 inlägg strSQL = "SELECT orders.orderid, " &_
"orders.datum, " &_
"orders.betalning, " &_
"SUM(artikel.pris) AS pris, " &_
"kunder.fnamn, " &_
"kunder.enamn, " &_
"kunder.epost " &_
"FROM orders, artikel, kunder " &_
"WHERE orders.orderid = artikel.artikelid " &_
"AND orders.orderid = " & Request.QueryString("id")
Något sånt?
Fel forum för övrigt. /red OveRRidE han påpeka det ;)
PikkenixMedlem sedan mars 2003116 inlägg Problemet är att SUM(pris) som ligger i artikar måste gå via orderartikel tabellen, alltså måste jag använda nestade tabeller elelr join på något sätt..
PikkenixMedlem sedan mars 2003116 inlägg Denna sqlsats använder jag nu:
"SELECT orders.orderid, orders.datum, orders.betalning, kunder.fnamn, kunder.enamn, kunder.epost, kunder.kundID , SUM(artiklar.pris) as priset FROM orders, kunder, artiklar WHERE orders.status = 0 AND orders.kundid = kunder.kundID AND artiklar.artikelid = (SELECT orderartikel.artikelid FROM orderartikel WHERE orderartikel.artikelid = orders.orderid)"
Men då får jag följande fel:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Du försökte köra en fråga med en mängdfunktion som inte innehöll det angivna uttrycket 'orderid'.
@ndersMedlem sedan juni 200032 969 inlägg Alla fält som du selectar, som inte ingår i SUM() (eller andra liknande funktioner) måste ingå i GROUP BY i din select-fråga. Prova följande:
SELECT orders.orderid, orders.datum, orders.betalning, kunder.fnamn, kunder.enamn, kunder.epost, kunder.kundID , SUM(artiklar.pris) as priset
FROM orders, kunder, artiklar WHERE orders.status = 0 AND orders.kundid = kunder.kundID AND artiklar.artikelid = (SELECT orderartikel.artikelid FROM orderartikel WHERE orderartikel.artikelid = orders.orderid)
GROUP BY orders.orderid, orders.datum, orders.betalning, kunder.fnamn, kunder.enamn, kunder.epost, kunder.kundID
Mvh
PikkenixMedlem sedan mars 2003116 inlägg SQL satsen är det inget fel på, däremot så returnerar den inget.. blir bara ett tomt recordset tyvärr...
PikkenixMedlem sedan mars 2003116 inlägg Ingen som har någon lösning?