Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


En fråga om Stored Procedure

Postades av 2006-08-02 14:15:50 - Cyrus Shabnam, i forum sql-server/msde, Tråden har 2 Kommentarer och lästs av 696 personer

hej

finns det nån som har möjlighet att förklara vad gör följande Stored Procedure?

för att om den skulle bara returnera alla project varför den gör så många joinar och vilkor?

spelar nån roll om man tar hand om retur värdet i en DataSet eller Lista?

tack igen


Create PROCEDURE aspnet_GetAllProjects
AS
SELECT

aspnet_Projects.*,
Managers.UserName ProjectManagerDisplayName,
Creators.UserName ProjectCreatorDisplayName,
sum (TimeEntryDuration) as ProjectActualDuration
FROM
aspnet_Projects
INNER JOIN aspnet_users AS Managers ON Managers.UserId = aspnet_Projects.ProjectManagerId
INNER JOIN aspnet_users AS Creators ON Creators.UserId = aspnet_Projects.ProjectCreatorId
LEFT JOIN aspnet_Projectcategories AS cat ON aspnet_Projects.ProjectId= cat.ProjectId
left JOIN aspnet_TimeEntry as timeEntry ON cat.CategoryId = timeEntry.CategoryId
WHERE
ProjectDisabled = 0
group by
aspnet_Projects.ProjectId,
aspnet_Projects.ProjectName,
aspnet_Projects.ProjectDescription,
aspnet_Projects.ProjectCreationDate,
aspnet_Projects.ProjectDisabled,
aspnet_Projects.ProjectEstimateDuration,
aspnet_Projects.ProjectCompletionDate,
aspnet_Projects.ProjectCreatorId,
aspnet_Projects.ProjectManagerId,
Managers.UserName,
Creators.UserName

ORDER BY
ProjectName ASC


Svara

Sv: En fråga om Stored Procedure

Postades av 2006-08-02 14:28:19 - Niklas Jansson

Öh... det är väl en tämligen ordinär SQL-fråga?
Istället för att presentera ID så presenterar den namnen på diverse roller i projekt...


Svara

Sv: En fråga om Stored Procedure

Postades av 2006-08-02 15:50:45 - Jonas Hallgren

Precis som Niklas säger är det en ordinär SQL-fråga. Vi kan ju titta lite mer i detalj vad som händer i din procedur:
<code>
Create PROCEDURE aspnet_GetAllProjects
AS
SELECT

aspnet_Projects.*,
Managers.UserName ProjectManagerDisplayName,
Creators.UserName ProjectCreatorDisplayName,
sum (TimeEntryDuration) as ProjectActualDuration
</code>

Raden ovan visar alla kolumner från aspnet_Projects, samt hämtar kolumnen UserName från Managers och döper den till ProjectManagerDisplayName och på samma sätt för tabellen Creators. Dessutom görs en summering av TimeEntryDuration

<code>
FROM
aspnet_Projects
INNER JOIN aspnet_users AS Managers ON Managers.UserId = aspnet_Projects.ProjectManagerId
INNER JOIN aspnet_users AS Creators ON Creators.UserId = aspnet_Projects.ProjectCreatorId
LEFT JOIN aspnet_Projectcategories AS cat ON aspnet_Projects.ProjectId= cat.ProjectId
left JOIN aspnet_TimeEntry as timeEntry ON cat.CategoryId = timeEntry.CategoryId
</code>

Sökningen görs i tabellen aspnet_Projects. Men i denna tabellen finns det bara en siffra (UserId) som visar vem som är manager och vem som är creator etc och för att slå upp rätt namn i tabellen Manager respektive Creator så gör man en Join på deras respektive ID:n. Dessutom verkar det finnas en tabell med olika katgorier och en som håller tider på något sätt.

<code>
WHERE
ProjectDisabled = 0
group by
aspnet_Projects.ProjectId,
aspnet_Projects.ProjectName,
aspnet_Projects.ProjectDescription,
aspnet_Projects.ProjectCreationDate,
aspnet_Projects.ProjectDisabled,
aspnet_Projects.ProjectEstimateDuration,
aspnet_Projects.ProjectCompletionDate,
aspnet_Projects.ProjectCreatorId,
aspnet_Projects.ProjectManagerId,
Managers.UserName,
Creators.UserName
</code>

Sedan kollas det att projektet inte är stängt och eftersom man vill göra en beräkning (sum) så måste man gruppera raderna mha group by.

<code>
ORDER BY
ProjectName ASC
</code>

I bokstavsordning på ProjectName


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
521
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies