Wrox Programmer Forums
|
BOOK: Beginning T-SQL with Microsoft SQL Server 2005 and 2008 ISBN: 978-0-470-25703-6
This is the forum to discuss the Wrox book Beginning T-SQL with Microsoft SQL Server 2005 and 2008 by Paul Turley, Dan Wood; ISBN: 9780470257036
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: Beginning T-SQL with Microsoft SQL Server 2005 and 2008 ISBN: 978-0-470-25703-6 section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old November 13th, 2011, 03:55 AM
Authorized User
 
Join Date: Mar 2011
Posts: 12
Thanks: 0
Thanked 0 Times in 0 Posts
Default Performing Calculations with User Define Function

I know the problem here is me and so I need to know how to get this right, please!

I created these two tables to illustrate what I am trying to accomplished.

I am trying to calculate the total amount from the tblSupportCharges table using the CustomerID as an Input Parameter.
The problem is my calculations are dead wrong.

Here are the two tables:

Code:
CREATE TABLE tblTechSupport (
CustomerId	INT IDENTITY(1,1)NOT NULL,
CONSTRAINT PK_tblTechSupport PRIMARY KEY (CustomerId),
CompanyName VARCHAR(50)  NOT NULL,	
CompanyLoc  VARCHAR(50)  NOT NULL,	
CallDate	DATE         NOT NULL,		   						
RepName		CHAR(50)     NOT NULL
);

CREATE TABLE tblSupportCharges(
CustomerId     INT          NOT NULL,
CONSTRAINT FK_tblSupCharges FOREIGN KEY (CustomerId)
REFERENCES tblTechSupport (CustomerId), 		
[SupportHours] DECIMAL(9,2) NULL,
CostPerHour    MONEY        NULL,	
MilesTraveled  DECIMAL(9,1) NULL,
CostPer_Mile   MONEY        NULL, 
PartsCosts     MONEY        NULL,
LaborCharges   MONEY	    NULL
);

INSERT INTO tblSupportCharges(CustomerId,SupportHours,CostPerHour,MilesTraveled,CostPer_Mile)
VALUES(1,5,1,1,1);
Using the values I inserted, I created this function to get the total from the tblSupportCharges table but the results are not accurate: Here is the function: Note I made the numbers simple just for troubleshooting.

Code:
Create Function dbo.CalulateTotal (@CustomerId INT) 
RETURNS MONEY 
As 
BEGIN 
DECLARE @GetTotalCost MONEY         
SELECT  @GetTotalCost = (Sum(SupportHours * CostPerHour) + (Sum(MilesTraveled * CostPer_Mile)))
FROM tblSupportCharges                 
Return(@GetTotalCost) 
End 
Go 
Select dbo.CalulateTotal(1)
Thanks everyone!





Similar Threads
Thread Thread Starter Forum Replies Last Post
user name using time function ravi951 Beginning PHP 0 September 12th, 2011 03:29 AM
Cannot define a user profile rpz79 BOOK: Beginning Drupal 2 February 1st, 2011 06:40 AM
user function attempt demac43 Excel VBA 3 November 8th, 2006 05:59 PM
User Defined Function niravp SQL Server 2000 7 November 29th, 2004 02:18 PM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.