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
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.