David,
You are right. My problem was that I didn't know how to create a select
within a select. What I ended up with was just that and it is all in a
single stored procedure with no temporary tables. Works really well.
My biggest problem was all new things I was trying to do. I have always
done simple select statements before both with Views and Stored
Procedures.
Then I discovered that I needed to feed parameters to the first select
which knocked out Views. Then I needed only the top 20 by date and from
the top 20 the lowest 10(numerically) of those top 20.
It got very confusing real fast when I had a stored procedure that
select via param for the top 20. It would pick the top 20 first and
then the parms. Which wasn't the sequence I wanted.
Since I was only running on SQL/2k I ended up with the following stored
procedure:
CREATE PROCEDURE [SelectUSGA1]]
@PlayerID integer
AS
SELECT TOP 10 WITH TIES dbo.tblScores.[Date], dbo.tblScores.P layer,
dbo.tblScores.H andiDiff, dbo.tblScores.T ees, dbo.tblScores.H 1,
dbo.tblScores.H 2, dbo.tblScores.H 3, dbo.tblScores.C ourse,
dbo.tblCourse.C ourseID, dbo.tblCourse.C ourseName, dbo.tblCourse.H ole1,
dbo.tblCourse.H ole2, dbo.tblCourse.H ole3, dbo.tblCourse.H ole4,
dbo.tblCourse.H ole5, dbo.tblCourse.H ole6, dbo.tblCourse.H ole7,
dbo.tblCourse.H ole8, dbo.tblCourse.H ole9, dbo.tblCourse.H ole10,
dbo.tblCourse.H ole11, dbo.tblCourse.H ole12, dbo.tblCourse.H ole13,
dbo.tblCourse.H ole14, dbo.tblCourse.H ole15, dbo.tblCourse.H ole16,
dbo.tblCourse.H ole17, dbo.tblCourse.H ole18, dbo.tblCourse.T ,
dbo.tblCourse.R ating, dbo.tblCourse.S lope, dbo.tblPlayers. Player_ID,
dbo.tblPlayers. PlayerLastName, dbo.tblPlayers. PlayerFirstName ,
dbo.tblPlayers. PlayerNickName, dbo.tblScores.H 4, dbo.tblScores.H 5,
dbo.tblScores.H 6, dbo.tblScores.H 7, dbo.tblScores.H 8, dbo.tblScores.H 9,
dbo.tblScores.H 10, dbo.tblScores.H 11, dbo.tblScores.H 12,
dbo.tblScores.H 13, dbo.tblScores.H 14, dbo.tblScores.H 15,
dbo.tblScores.H 16, dbo.tblScores.H 17, dbo.tblScores.H 18,
dbo.tblScores.B 9, dbo.tblScores.T 18, dbo.tblScores.P 1, dbo.tblScores.F 9,
dbo.tblScores.P 2, dbo.tblScores.P 3, dbo.tblScores.P 4, dbo.tblScores.P 5,
dbo.tblScores.P 6,
dbo.tblScores.P 7, dbo.tblScores.P 8, dbo.tblScores.P 9, dbo.tblScores.P 10,
dbo.tblScores.P 11, dbo.tblScores.P 12, dbo.tblScores.P 13,
dbo.tblScores.P 15, dbo.tblScores.P 14,
dbo.tblScores.P 16, dbo.tblScores.P 17, dbo.tblScores.P 18,
dbo.tblScores.F W1, dbo.tblScores.F W2, dbo.tblScores.F W3,
dbo.tblScores.F W4, dbo.tblScores.F W5, dbo.tblScores.F W6,
dbo.tblScores.F W7, dbo.tblScores.F W8, dbo.tblScores.F W9,
dbo.tblScores.F W10, dbo.tblScores.F W11, dbo.tblScores.F W12,
dbo.tblScores.F W13, dbo.tblScores.F W14, dbo.tblScores.F W15,
dbo.tblScores.F W16, dbo.tblScores.F W17,
dbo.tblScores.F W18, dbo.tblScores.F WT, dbo.tblScores.T otalPutts,
dbo.tblScores.A ctualDiff, dbo.tblScores.T otPars, dbo.tblScores.T otBirds,
dbo.tblScores.T otEagles, dbo.tblScores.T otBogys,
dbo.tblScores.T ot2Bogys, dbo.tblScores.A vgPutts
FROM dbo.tblScores
LEFT OUTER JOIN
dbo.tblCourse ON dbo.tblScores.C ourse = dbo.tblCourse.C ourseID
LEFT OUTER JOIN
dbo.tblPlayers ON dbo.tblScores.P layer =
dbo.tblPlayers. Player_ID
WHERE tblPlayers.Play er_ID=@PlayerID
order by date, HandiDiff;
GO
Works really well now.
Jim
*** Sent via Developersdex
http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!