18. maj 2001 - 15:46Der er
12 kommentarer og 1 løsning
SQL Query med Sum
Kan man lave flg. direkte i Query\'en eller skal jeg tage noget kode i brug:
eks. jeg har en tabel som består af 2 felter, ID og TAL.
eks. på da
ID TAL 1 20 2 20 3 45 4 50 5 10
Nu vil jeg gerne retuneret et recordset, med posterne hvor summen overstiger eks. 50.
eks. angiver 50, så skal jeg have post 1+2+3 eks. angiver 30, så skal jeg have post 1+2 eks. angiver 5, så skal jeg have post 1 eks. angiver 100, så skal jeg have post 1+2+3+4
Håber at det blev nogenlunde forståeligt. Skal kører i en SP på MS SQL 7
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Prøv den her (formateringen er kun OK i fixed-width font):
CREATE PROCEDURE ProcNavn (@sum INTEGER) AS SELECT * FROM TabelNavn WHERE ID <= (SELECT MIN(ID) FROM TabelNavn AS t WHERE (SELECT SUM(Tal) FROM TabelNavn WHERE ID <= t.ID ) > @sum)
EXEC ProcNavn 50
giver:
ID Tal ----------- ----------- 1 20 2 20 3 45
EXEC ProcNavn 100
giver:
ID Tal ----------- ----------- 1 20 2 20 3 45 4 50
mwittrock: Ja, jeg må jo sige at det virker, men der er lige en lille ting, hvis man søger på eks. 20 får man 1+2, hvor man kun skulle have 1. Og nu har jeg kigget intensivt på query i 30min. og jeg kan eddermanme ikke gennemskue den. kan du give lidt hjælpe. Den skal nemlig sortere på en ældste dato istedet for en ID.
Det burde ikke umiddelbart ændre på proceduren, at du i stedet for kolonnerne \"ID\" og \"Tal\" har kolonnerne \"Dato\" og \"Tal\" (udover at \"ID\" skal erstattes med \"Dato\" i SQLen ;-)
mwittrock: kriterierne virkede ved at blive sat på alle 3 wheres. Jeg har fundet ud af hvad det er der driller, men ikke løsningen. Drilleriet er pga. at jeg skifter ID ud med en dato der ikke er unik. Så bliver alle poster fra den første dato vist. Såvidt jeg kan se er det fordi at ID bliver brugt til at tælle op med i SQL-sætningen. Har du nogle gode ideer?
ID Primær-Nøgle Auto-nummer TYPE Købe/Salg Tekstfelt VarerID Nummer på vare i en anden tabel. Antal Antal som ønskes købt/solgt Pris Pris på varen Fra_dato Varen skal være tilsalg/køb fra denne dato Til_dato Varen skal ikke være tilsalg/køb efter denne dato
Jeg har behov for at få alle vare som har typen til salg, og dags dato er between fra_dato og til_dato, som har den valgte Varer_ID. Men hvis der er en person der vil sælge 10 stk. og en anden 20 stk. og en tredjer der vil købe 25 eller 30 stk. skal jeg have begge poster retuneret.
rækkenfølgen er væsentlig. de ældste skal først, der efter sorteres på antal.
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.