19. november 2003 - 22:41Der er
25 kommentarer og 1 løsning
bruge sum i en query
Jeg har prøvet at bruge sum i en query, men det går ikke helt så godt, er der nogen der kan fixe det..
mit bud var $res = mysql_query("select vare_id, antal, vare_navn, pris SUM(varer.pris) from kurv, varer where vare_id = varer.id and bruger_id='".$_SESSION['unikt_id']."'") or die(mysql_error());
Men den giver den her fejl:
Jeg syns jeg har prøvet at sætte den ale steder og lige meget hjælper det
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
mysql_query("select vare_id, antal, vare_navn, SUM(varer.pris) AS TotalPris from kurv, varer where vare_id = varer.id and bruger_id='".$_SESSION['unikt_id']."'") or die(mysql_error());
Har rettet fejlen nu... Lå i SUM. Er længe siden jeg har lavet mySQL... i alm. sql skal man altid bruge group by ved sum, men det kan du måske godt få lov at undlade....
Det afhænger jo lidt ah hvad du har tænkt dig. Men så vidt jeg kan regne ud vil du gerne have en totalpris på de varer man har bestilt. Hvis det er rigtigt skal du have noget i stil med det her:
select vare_id, antal, vare_navn, SUM(varer.pris * antal) AS TotalPris from kurv, varer where vare_id = varer.id and bruger_id='".$_SESSION['unikt_id']."' GROUP BY vare_id
Jeg skal have en totalpris over de varer der ligger i kurven. varepriserne over kurven henter den i varer.pris der ligger alle priserne, nu er det bare at få sum ind, ovenstående eks gav parse error
Bu har jeg prøvet det her, men det giver intet output heller ingen fejl
mysql_query("select vare_id, antal, vare_navn, SUM(varer.pris) AS val from kurv, varer where vare_id = varer.id and bruger_id='".$_SESSION['unikt_id']."' GROUP BY pris") or die(mysql_error());
Kør den sådan her, dvs. uden die() ellers får du jo ingen sql-fejl at se ;)
mysql_query("select vare_id, antal, vare_navn, SUM(varer.pris) AS val from kurv, varer where vare_id = varer.id and bruger_id='".$_SESSION['unikt_id']."' GROUP BY pris
Under alle omstændigheder virker det lidt mærkeligt på mig at du vælger at bruge GROUP BY på pris, hvorfor det?
Dit query skal køres sådan her så du er sikker på at få at vide hvad der går galt med SQL-sætningen.
mysql_query("select vare_id, antal, vare_navn, SUM(varer.pris) AS val from kurv, varer where vare_id = varer.id and bruger_id='".$_SESSION['unikt_id']."' GROUP BY pris");
Mit 2. spørgsmål er hvorfor du vælger at lave Group BY på pris. Jeg kan slet ikke se nogen mening i at summere dem for derefter at vise dem enkeltvis. Er faktisk ikke helt sikker på om det overhovedet kan lade sig gøre. Hvis jeg forstår dig ret skal du lave GROUP BY vare_id i stedet.
Du skal naturligvis være sikker på, at de data, der står i dine tabeller er korrekte. Samtidig er det ikke muligt at blande SUM(felt) med andre felter uden en group by.
He he vi fixede det over mirc, og jeg er glad for det virker..
res. er flg
$res = mysql_query("select SUM(pris) as val from kurv, varer where vare_id = varer.id and bruger_id ='".$_SESSION['unikt_id']."'") or die(mysql_error());
kaptajnkemo-> Jaja - det skulle vise sig, at den gennemgående fejl var, at der var ulovlige værdier i databasen; en tekststreng kan jo sjældent multipliceres med NULL og så meget andet end en fejl eller NULL som svar :-p
Det må man da håbe ;-) Hvis det var muligt må du da gerne få ½-delen af mine points for denne - idet du egentlig også har svaret korrekt på spørgsmålet...
he he... Det er sq ikke points som sådan der er mit problem. Jeg har ingen intentioner om at ligge på toplisten og jeg har points nok i forvejen til når jeg selv har brug for hjælp, det er mere princippet. På en eller anden måde indikerer det jo at manden ikke mener mit svar var rigtigt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.