Hi there, I am having a problem with a stored procedure that I am writing. I am fairly new to this so please go easy on me! The stored procedure is:
ALTER PROCEDURE ProviderAttainment
@Attainment varchar(50),
@Gender varchar(50),
@EthCodes varchar(255),
@ResultsBand varchar(50),
@sqlCommand varchar(1000)
AS
SET @sqlcommand ='SELECT DISTINCT Providers.ProviderCounty, Providers.ProviderDistrict, Providers.ProviderName, COUNT(Link.LearnerID) AS Total FROM Learners INNER JOIN
Link ON Learners.LearnerID = Link.LearnerID INNER JOIN
Providers ON Link.ProviderID = Providers.ProviderID WHERE Learners.' + @Attainment + ' @ResultsBand
AND Learners.Sex = charindex(','+gender+',',@Gender)
AND Learners.EthnicityCodes = charindex(','+EthCodes+',',@EthCodes)
GROUP BY Providers.ProviderCounty, Providers.ProviderDistrict, Providers.ProviderName
ORDER BY Providers.ProviderCounty'
EXEC (@sqlcommand)
The parameters are:
@Attainment - column name in the learners table obtained from a dropdown
@Gender - comma delimited string searching for example ", Male," or ",Male,Female," etc.
@ResultsBand - String containing statements such as "BETWEEN 0 AND 50" or "> 500" etc.
@EthCodes - same as Gender but containing EthnicityCodes
@sqlCommand - the SET statement
Could somebody please point me in the right direction? Thank you very much.