/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
[MSSQL] Beregning af en masse poster
Fra : Niels Henriksen


Dato : 20-10-03 10:27

Ja... må lige prøve at beskrive problemet:

Jeg har en tabel der ser ud som følger

Tabel
-----
ID
KundeNr (tekst)
Pris (tal)
Type (tekst)

Problemet er at der kan være 4 forskellige typer og jeg tit skal have en
liste ud der ser sådanne ud:

Kundenr - PrisType1 - PrisType2 - PrisType3 - PrisType4

Kundenr skal være SELECT DESTINCT.

PrisTypeX er altså en sammenlægning af prisen i TypeX. Som det er nu laver
jeg 4 forespørgsler som går ok hurtigt, men jeg ved (håber jeg) at det hele
vil kunne gøres i én arbejdsgang. Min tanke var 4 forespørgsler i én SELECT
(gad vide om det kan lade sig gøre)

Jeg har fuld adgang til databasen, så jeg kan alt på den. Jeg har tæntk på
en Stored Procedure, men det er lang tid siden jeg har lavet sådan en.

--
Niels Henriksen



 
 
Peter Lykkegaard (20-10-2003)
Kommentar
Fra : Peter Lykkegaard


Dato : 20-10-03 10:38


"Niels Henriksen" <news03@biggs.dk> wrote in message
news:HQNkb.706$vZ3.76@news.get2net.dk...
> Ja... må lige prøve at beskrive problemet:
>
> Jeg har en tabel der ser ud som følger
>
> Tabel
> -----
> ID
> KundeNr (tekst)
> Pris (tal)
> Type (tekst)
>
> Problemet er at der kan være 4 forskellige typer og jeg tit skal have en
> liste ud der ser sådanne ud:
>
> Kundenr - PrisType1 - PrisType2 - PrisType3 - PrisType4
>
Du skal have gang i noget UNION

> Kundenr skal være SELECT DESTINCT.
>
> PrisTypeX er altså en sammenlægning af prisen i TypeX. Som det er nu laver
> jeg 4 forespørgsler som går ok hurtigt, men jeg ved (håber jeg) at det
hele
> vil kunne gøres i én arbejdsgang. Min tanke var 4 forespørgsler i én
SELECT
> (gad vide om det kan lade sig gøre)
>
Jo vha UNION

> Jeg har fuld adgang til databasen, så jeg kan alt på den. Jeg har tæntk på
> en Stored Procedure, men det er lang tid siden jeg har lavet sådan en.
>
Der er ikke den store forskel i at lave en alm forespørgsel og så en SP
Det funktionelle er ens

I SP'en har du nogle parametre du kan overføre

fx
Create MySP @MyVar Varchar(10) AS
Select * From MyTable Where MyField = @MyVar

Exec MySP @MyVar = 'test'

I modsætning til denne
Select * From MyTable Where MyField = 'test'

mvh/Peter Lykkegaard



Kristian Damm Jensen (20-10-2003)
Kommentar
Fra : Kristian Damm Jensen


Dato : 20-10-03 11:20

"Niels Henriksen" <news03@biggs.dk> skrev i en meddelelse
news:HQNkb.706$vZ3.76@news.get2net.dk...
> Ja... må lige prøve at beskrive problemet:
>
> Jeg har en tabel der ser ud som følger
>
> Tabel
> -----
> ID
> KundeNr (tekst)
> Pris (tal)
> Type (tekst)
>
> Problemet er at der kan være 4 forskellige typer og jeg tit skal have en
> liste ud der ser sådanne ud:
>
> Kundenr - PrisType1 - PrisType2 - PrisType3 - PrisType4
>
> Kundenr skal være SELECT DESTINCT.
>
> PrisTypeX er altså en sammenlægning af prisen i TypeX. Som det er nu laver
> jeg 4 forespørgsler som går ok hurtigt, men jeg ved (håber jeg) at det
hele
> vil kunne gøres i én arbejdsgang. Min tanke var 4 forespørgsler i én
SELECT
> (gad vide om det kan lade sig gøre)
>
> Jeg har fuld adgang til databasen, så jeg kan alt på den. Jeg har tæntk på
> en Stored Procedure, men det er lang tid siden jeg har lavet sådan en.

Gad vidst, om ikke det her klarer jobbet?

select t0.Kundenr as Kundenr
, sum(t1.pris) as PrisType1
, sum(t2.pris) as PrisType2
, sum(t3.pris) as PrisType3
, sum(t4.pris) as PrisType4
from tabel t0
join tabel t1
on t0.kundenr = t1.kundenr
and t1.type = 'type1'
join tabel t2
on t0.kundenr = t2.kundenr
and t2.type = 'type2'
join tabel t3
on t0.kundenr = t3.kundenr
and t3.type = 'type3'
join tabel t4
on t0.kundenr = t4.kundenr
and t4.type = 'type4'
group by t0.kundenr

--
Kristian Damm Jensen
damm (at) ofir (dot) dk



Niels Henriksen (20-10-2003)
Kommentar
Fra : Niels Henriksen


Dato : 20-10-03 12:26

"Kristian Damm Jensen" <REdammMOVE@ofir.dk> wrote in message
news:bn0cr1$rgbmn$1@ID-146708.news.uni-berlin.de...
>
> Gad vidst, om ikke det her klarer jobbet?
>
Det vil jeg lige prøve at se på... Men damn det kan være uoverskuligt :)

Takker

--
Niels



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste