Use Community_Assist
--temp table
Create table #TempPerson
(
PersonKey int,
PersonLastName nvarchar(255),
PersonFirstName nvarchar(255),
PersonEmail nvarchar(255)
)
insert into #TempPerson(PersonKey, PersonLastName, PersonFirstName, PersonEmail)
Select PersonKey, PersonLastName, PersonFirstName, PersonEmail
From Person
Select * from #TempPerson
Create table ##GlobalTempPerson
(
PersonKey int,
PersonLastName nvarchar(255),
PersonFirstName nvarchar(255),
PersonEmail nvarchar(255)
)
insert into ##GlobalTempPerson(PersonKey, PersonLastName, PersonFirstName, PersonEmail)
Select PersonKey, PersonLastName, PersonFirstName, PersonEmail
From Person
Select * from ##GlobalTempPerson
--scalar functions
go
create function fx_cube
(@number int)
returns int
As
Begin
Declare @cube int
Set @Cube=@number * @number * @number
return @Cube
End
go
Select dbo.fx_cube(7.5) as [cube]
go
Alter function fx_OneLineAddress
(@Apartment nvarchar(255),
@Street nvarchar(255),
@City nvarchar(255),
@State nchar(2),
@Zip nchar(9))
returns nvarchar(255)
as
Begin
Declare @address nvarchar(255)
if @Apartment is null
Begin
Set @Address=@Street + ', ' + @City + ', ' + @state + ' ' + @zip
End
else
Begin
Set @Address= @Street + ' ' + @Apartment + ', ' + @City + ', ' + @state + ' ' + @zip
End
return @address
End
Select PersonLastName, dbo.fx_OneLineAddress(PersonAddressApt,
[PersonAddressStreet],[PersonAddressCity],[PersonAddressState],
[PersonAddressZip]) as [Address]
From Person p
inner join PersonAddress pa
on p.PersonKey=pa.PersonKey
Create Function fx_RequestVsAllocationAmounts
(@Request money, @allocation money)
returns money
As
Begin
return @Request-@Allocation
End
Select gr.GrantRequestKey GrantRequestDate, GrantRequestAmount,
GrantAllocationAmount,
dbo.fx_RequestVsAllocationAmounts(GrantRequestAmount, GrantAllocationAmount) as [difference]
From GrantRequest gr
inner join grantReview rev
on gr.GrantRequestKey=rev.GrantRequestKey
Select GrantTypeKey, Year(GrantRequestDate) as [Year], Sum(GrantRequestAmount) as Request,
sum(GrantAllocationAmount) as Allocated,
sum(dbo.fx_RequestVsAllocationAmounts(GrantRequestAmount, GrantAllocationAmount)) as [difference]
From GrantRequest gr
inner join grantReview rev
on gr.GrantRequestKey=rev.GrantRequestKey
group by GrantTypeKey, Year(GrantRequestDate)
Tuesday, February 14, 2017
Temp tables and Functions
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment