Click here to Skip to main content
15,890,882 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I'm trying to check for condition If the vale is one string values then something, else if other string value then some other thing. My quest is like this

SQL
CREATE PROCEDURE GetMemberManagement

@UserId varchar(100)

AS

BEGIN

declare @membertype varchar(100)
set @membertype= CAST((select b.membertypename from users a left join membertypes b on a.membertype=b.membertype where
a.userid = @UserId)

if @membertype = 'Advisor'
BEGIN
select b.fullname,c.membertypename,a.rankno,d.rankname from users a left join profiles b on a.accountid=b.accountid
left join membertypes c on a.membertype=c.membertype left join ranks d on a.rankno=d.rankno
where a.userid=@UserId
END

else if @membertype = 'Agent'
BEGIN
select b.fullname,c.membertypename,a.rankno,d.rankname from users a left join profiles b on a.accountid=b.accountid
left join membertypes c on a.membertype=c.membertype left join ranks d on a.rankno=d.rankno
where a.userid=@UserId
END

END


Here i'm getting error like this

Msg 156, Level 15, State 1, Procedure GetMemberManagement, Line 13
Incorrect syntax near the keyword 'if'.

So How can I fix this problem?
Posted

1 solution

CAST requires a destination type:
SQL
...
set @membertype= CAST(
                   (select b.membertypename from users a left join membertypes b on a.membertype=b.membertype where a.userid = @UserId) 
                 as varchar(100))
...
 
Share this answer
 
Comments
Aboobakkar Siddeq D U 28-Sep-13 3:37am    
Thanks a lot. Wish you all the best

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900