Ja det er desværre ikke mig der har lavet databasen og jeg her ikke mulighed for at lave feltet om til et tal. Derfor er jeg nødsaget til at leve med det som et tekst felt. Jeg har blot fået til opgave at lave noget statistik på systemet og til det skal jeg bruge summering på dette tekst felt.
Uden at have kørt sammenligninger på at caste tror jeg det kan blive en ret tung operation. Jeg er måske lidt forudintaget, men funktioner i SQL har ikke ry for at være hurtige... Ville nok foretrække jons løsning med et spejlet talfelt som enten blev opdateret ved indsættelse eller før statistikken ("update xyz set isum = ssum". Evt. med "where isum is null")
Måske kan man lave det med triggere, men jeg kan ikke hitte ud af hvordan man fanger den netop indsatte eller opdaterede record. Måske bliver man nødt til at lave førnævnte update alligevel.
Der skal i hvert fald den where-del på for elers er det samtlige felter der updates, og ved "... SET isum = ssum ..." vil der under alle omstændigheder ske en cast.
Prøvede SELECT sum( cast(Umoms as real) ) AS sumUmoms, Navn FROM MyTable GROUP BY Navn
og Fik følgende fejl: Error converting data type varchar to real. Mon det har noget at gørre med at decimaltegn er komma og ikke punktum? Det kan cast funktionen vist ikke håndtere. Er der en løsning på det? Decimaltegn er sat til komma i kontrolpanel.
Det var lige det der skulle til. Tak for hjælpen nielle.
Hvordan kan jeg egentlig give dig point? Er der noget med at du sender et svar og jeg så kan give dig point? Hvis det er sådan må du gerne snde et svar.
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.