I don't even know if this is possible - I'm still fairly new to stored procedures.
I have 4 tables I need to compile data from:
saved_searches
saved_homes
printed_homes
member_info
saved_searches, saved_homes and printed_homes each track the date they were created.
I need to grab all the users from member_info who have had activity in saved_searches, saved_homes and printed_homes between now and X date, along with how many of each (sum(id)) they have performed from saved_searches, saved_homes and printed_homes.
I need to order the results by who has had the most activity in the specified date range, meaning the sum of the sum(id) from the searches going into saved_searches, saved_homes and printed_homes.
The results also have to be restricted to a field in member_info matched to an additional parameter.
Ok... that's a mouthful.
Here's the concept so far:
The following stored procedure would be created for saved_searches, saved_homes and printed_homes, so I'll just show one as the three tables are pretty similar:
@workingWithID
@maxDate
SELECT sum(id), username FROM saved_searches WHERE username IN
(SELECT username FROM member_info WHERE workingWithID = @workingWithID)
AND searchDate > @maxDate
Now, to get all the member info of those with recent activity, I would have this stored procedure that would call the (above) stored procedures for saved_searches, saved_homes and printed_homes:
@workingWithID
@maxDate
SELECT * FROM member_info WHERE username IN
(sp_savedSearch (@workingWithID ,@maxDate))
AND username IN
(sp_savedHomes( @workingWithID, @maxDate))
AND username IN
(sp_printedHome s(@workingWithI D,@maxDate))
HOWEVER, this concept wouldn't return the sums generated by the smaller stored procedures....
I am truly lost here - can anyone assist me in making sense of how to accomplish this?
Thank you in advance
-=Patrick=-
I have 4 tables I need to compile data from:
saved_searches
saved_homes
printed_homes
member_info
saved_searches, saved_homes and printed_homes each track the date they were created.
I need to grab all the users from member_info who have had activity in saved_searches, saved_homes and printed_homes between now and X date, along with how many of each (sum(id)) they have performed from saved_searches, saved_homes and printed_homes.
I need to order the results by who has had the most activity in the specified date range, meaning the sum of the sum(id) from the searches going into saved_searches, saved_homes and printed_homes.
The results also have to be restricted to a field in member_info matched to an additional parameter.
Ok... that's a mouthful.
Here's the concept so far:
The following stored procedure would be created for saved_searches, saved_homes and printed_homes, so I'll just show one as the three tables are pretty similar:
@workingWithID
@maxDate
SELECT sum(id), username FROM saved_searches WHERE username IN
(SELECT username FROM member_info WHERE workingWithID = @workingWithID)
AND searchDate > @maxDate
Now, to get all the member info of those with recent activity, I would have this stored procedure that would call the (above) stored procedures for saved_searches, saved_homes and printed_homes:
@workingWithID
@maxDate
SELECT * FROM member_info WHERE username IN
(sp_savedSearch (@workingWithID ,@maxDate))
AND username IN
(sp_savedHomes( @workingWithID, @maxDate))
AND username IN
(sp_printedHome s(@workingWithI D,@maxDate))
HOWEVER, this concept wouldn't return the sums generated by the smaller stored procedures....
I am truly lost here - can anyone assist me in making sense of how to accomplish this?
Thank you in advance
-=Patrick=-
Comment