Du får lägga alla kolumner i GROUP BY.
har en sql fråga med select * from..
och skulle även vilja lägga in en sum() i den men får det inte att fungera, hur gör man? går det?
Databaser & SQLur Databashanterare & SQL
14 svar · 420 visningar · startad av ConnyFox
har en sql fråga med select * from..
och skulle även vilja lägga in en sum() i den men får det inte att fungera, hur gör man? går det?
Du får lägga alla kolumner i GROUP BY.
är ingen sql guru så det där får du nog helst förklara lite närmare ;)
Alla fält du vill hämta får du specificera, och även lägga i GROUP BY-delen i din fråga.
select fld1, fld2, sum(foo) from tbl group by fld1, fld2 order by fld1
Ah ok tack, skall testa det
Hmm har en inner join i min sql sats och trög som jag är fattar jag inte hur jag skall kombinera det hela..
Fälten jag skall ha ut från tabellen kunder är :
Företag
Fälten jag skall ha ut från tabellen tider är :
id
kund
tid
datum
notering
fakturerad
MySQL = "select * from tider inner join kunder ON tider.kund=kunder.id WHERE fakturerad = '" & strFakturerad & "' and tider.kund = '" & intKundID & "' order by datum DESC"
Aldeles för avancerat ;)
Du måste nog kanske inte specificera fälten i SELECT-listan, men in i GROUP BY måste de.
Mjo men asså jag förstår inte hur jag skall kombinera det med min sql-fråga :(
Börja med att specificera fälten och lägg till en group by. Och vad är det som ska summeras?
Den totala summan av fältet tid
Ok, då är det nog enklast att lägga med det som en subquery.
MySQL = "select *, (SELECT sum(tid from tider)) AS totaltid from tider inner join kunder ON tider.kund=kunder.id WHERE fakturerad = '" & strFakturerad & "' and tider.kund = '" & intKundID & "' order by datum DESC"
Borde fungera om du inte använder MySQL med version lägre än 4.1.
mvh
ok tack så himla mycket!
Hade dock 4.017, såg att 4.1 inte var en helt stabil release, fungerar den bra eller kan jag räkna med massa problem med mina sidor ifall jag installerar den?
Jag använder inte MySQL, så jag har ingen aning. Men 4.1 funkar säkert klockrent. :)
Nu har jag efter MÅNGA om och men lyckats få igång mysql 4.1 men tyvärr så for jag fortfarande error på min fråga..
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[MySQL][ODBC 3.51 Driver][mysqld-4.1.5-gamma-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from tider)) AS totaltid from tider inner join kunder ON tider.k
/tidscript/lista_tid.asp, line 28
Och detta är min sql-fråga
MySQL = "select *, (SELECT sum(tid from tider)) AS totaltid from tider inner join kunder ON tider.kund=kunder.id WHERE fakturerad = '" & strFakturerad & "' and tider.kund = '" & intKundID & "' and tider.id in (" & request.form("val") & ") order by datum DESC"
Jag har skrivit fel. Så här:
MySQL = "select *, (SELECT sum(tid) from tider) AS totaltid from tider inner join kunder ON tider.kund=kunder.id WHERE fakturerad = '" & strFakturerad & "' and tider.kund = '" & intKundID & "' and tider.id in (" & request.form("val") & ") order by datum DESC"
tror jag testade det men då laddade sidan i all evighet :d
Aja skall testa igen tack så mycket!