Avatar billede aamodtod Nybegynder
27. december 2007 - 17:52 Der er 3 kommentarer

Hjelp med SP

Hei
Trenger litt hjelp med en sp.

Min tabell:
"dato, UserID, Customer, Hour akk"
Min SP:
Select dato, UserID, Customer, Hour

Ønsker at SP først skal loope igjennon records også hvis akk = false, så skal statmenetet være "Select dato, UserID, Customer, Hour" og hvis akk = True så skal stamentet være= "Select dato, UserID, Customer, Sum(Hour) as Hour, Akk Group by
dato, UserID, Customer

Håper dere skjønte hva jeg mente...

Takk for svar
Avatar billede hrc Mester
27. december 2007 - 21:24 #1
Umiddelbart ikke særlig svært. Du har brug for en procedure der enten viser records for records eller grupperet. Skyder jeg helt forbi med denne løsning?

[dbo].[GetHours]
@Akk bit = 0
as
  if @Akk = 0
    select dato, userID, customer, hour
  else
    select dato, userID, customer, sum(hour) as hour, akk group by dato, userID, customer
Avatar billede hrc Mester
27. december 2007 - 21:30 #2
Hvordan vil du have data retur? Har du en komponent som kan løbe resultatsættet sekventielt igennem? Umiddelbart lyder det som du skulle bruge en function. Det er en sammensmeltning af et view og en procedure og det passer vist helt fint her.

Helt overordnet ville jeg overveje ikke at have de to resultater samlet i een procedure. Enten ville jeg lave en "procedure dialekt" eller simpelthen have to. Du kan lave dialekter af procedurerne ... og så vidt jeg husker er det noget med at kalde den "GetHours;1" og "GetHours;2". Kan ikke huske om det er semikolon men det mener jeg.
Avatar billede aamodtod Nybegynder
31. december 2007 - 12:02 #3
Hei og takk for svar!
Jeg får ikke helt til forslaget ditt.

Jeg vil ha dataene tilbake slik.

dato, userID, customer, hour

Med er kolonnen "Akk" satt til "1", så skal Hour summeres og gruppers.
I resultatet som skal ut kan Akk både være satt til "1" og "0"

Håper du skjønner hva jeg mener
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester