21. december 1999 - 20:22Der er
1 kommentar og 1 løsning
Sql statement!
Hej, jeg har lavet en shop og vil gerne optælle hvilke og hvor mange varer der er bestilt. Umiddelbart kan det laves på denen måde:
SELECT VareID, Sum([Antal]) AS Tbestv, Sum([Total]) AS Tbeloeb FROM Ordredetaljer GROUP BY VareID;
Men jeg ville gerne kunne kombinere VareID nummeret med f.eks. varenavnet samt den øvrige information der er gemt på den pågeldende vare altså faktisk som at bruge WHERE VareID=blabla
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Hvis du har en Vare tabel kan du benytte følgende kode
SELECT o.VareID, Min(t.VareNavn), Sum(o.Antal) AS Tbestv, Sum(o.Total) AS Tbeloeb FROM Ordredetaljer o, VareTabel t WHERE o.VareID=t.VareID GROUP BY VareID;
Dvs. felterne fra den tilknyttede tabel tages blot som Min(feltnavn). Det virker da Min er en aggrerende funktion. Den resulterer blot den mindste værdi (af en række værdier der er ens :-)
Ja det virker men er det den rigtige måde at gøre det på?
Lige et andet ? Hvis man vil bruge ORDER BY på et felt man selv har lavet altså f.eks. SUM (felt) AS TEST .........ORDER BY TEST kan det ikke lade sig gøre ?
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.