Avatar billede hnteknik Novice
24. januar 2005 - 22:17 Der er 1 kommentar og
1 løsning

Problemer med at kombinere et count aggregat med et alm. view

Jeg er kørt fast i at kombinere et count(*) aggregat MED ET ALM. VIEW.

Jeg har et antal surveys for en bestemt gruppe, hvor er sat hvor mange responses, der må tages på hver:


SELECT    usd_surveyToGroupMap.MaxResponses,  usd_surveyToGroupMap.surveyID, usd_surveyToGroupMap.isPermitted, usd_Survey.surveyTitle
FROM        usd_surveyToGroupMap INNER JOIN
                      usd_userGroups ON usd_surveyToGroupMap.groupName = usd_userGroups.groupName INNER JOIN
                      usd_Survey ON usd_surveyToGroupMap.surveyID = usd_Survey.surveyID
WHERE    (usd_userGroups.groupID = 2)

--
Det giver en liste over surveys tilknyttet gruppen og hvor max antal responses.
Det vil jeg gerne sammeholde med det aktuelle antal tagne:

SELECT    COUNT(*) AS Antal, usd_Response.surveyID
FROM        usd_Response INNER JOIN
                      usd_userGroupMap ON usd_Response.userID = usd_userGroupMap.userID INNER JOIN
                      usd_userGroups ON usd_userGroupMap.groupName = usd_userGroups.groupName
WHERE    (usd_userGroups.groupID = 2)
GROUP BY usd_Response.surveyID
---

Hver for sig rigtig nok, men skulle gerne vises som et view:

surveyTitle
MaxResponses
Antal


Hvordan er det lige man gør, skal det over i en SP ?
Jeg regner også med at skal bruge en SP, hvor jeg spørger ind med groupID og surveyID og der returneres et tal = MaxResponses - Antal.

Henrik
Avatar billede hnteknik Novice
24. januar 2005 - 22:48 #1
hm - det hjælper at pive - denne her giver et rimeligt view:

SELECT    COUNT(usd_Response.surveyID) AS [Antal Tagne], usd_userGroups.groupID, usd_surveyToGroupMap.groupName, usd_surveyToGroupMap.surveyID,
                      usd_Survey.surveyTitle, usd_surveyToGroupMap.MaxResponses, usd_surveyToGroupMap.isPermitted
FROM        usd_Response INNER JOIN
                      usd_surveyToGroupMap ON usd_Response.surveyID = usd_surveyToGroupMap.surveyID INNER JOIN
                      usd_Survey ON usd_surveyToGroupMap.surveyID = usd_Survey.surveyID INNER JOIN
                      usd_userGroups ON usd_surveyToGroupMap.groupName = usd_userGroups.groupName
WHERE    (usd_surveyToGroupMap.groupName = N'AIM Testere')
GROUP BY usd_surveyToGroupMap.groupName, usd_surveyToGroupMap.surveyID, usd_surveyToGroupMap.MaxResponses,
                      usd_surveyToGroupMap.isPermitted, usd_Survey.surveyTitle, usd_userGroups.groupID
Avatar billede hnteknik Novice
04. marts 2005 - 21:08 #2
lukker sagen
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