PDA

View Full Version : انجام مقایسه در procedure



sabzehbzsa
یک شنبه 22 مرداد 1391, 18:57 عصر
سلام من میخوام یه مقایسه تو procedure انجام بدم که اگر مقدار فیلد selected با trueAnswer برابر بود مقدار صحیح رو بده واگر برابر نبود مقدار غلط
اینم کدش که تا اینجا نوشتم

alterproc [dbo].[pcshowResult5]
@ExAns_ID int
as
begin
declare @TF int
SELECT SA_ID,Que_ID ,Que_Title,
selected=case Selected_ID2
when('1')thenN'1 گزینه'
when('10')thenN'گزینه2'
when('11')thenN'گزینه1و2'
when('100')thenN'گزینه3'
when('101')thenN'گزینه1و3'
when('110')thenN'گزینه2و3'
when('111')thenN'گزینه1و2و3'
when('1000')thenN'گزینه4'
when('1001')thenN'گزینه1و4'
when('1010')thenN'گزینه1و2'
when('1011')thenN'گزینه1و2و4'
when('1100')thenN'گزینه3و4'
when('1101')thenN'گزینه1و3و4'
when('1110')thenN'گزینه2و3و4'
when('1111')thenN'گزینه1و2و3و4'
end
,trueAnswer=case TFCode
when('1')thenN'1 گزینه'
when('10')thenN'گزینه2'
when('11')thenN'گزینه1و2'
when('100')thenN'گزینه3'
when('101')thenN'گزینه1و3'
when('110')thenN'گزینه2و3'
when('111')thenN'گزینه1و2و3'
when('1000')thenN'گزینه4'
when('1001')thenN'گزینه1و4'
when('1010')thenN'گزینه1و2'
when('1011')thenN'گزینه1و2و4'
when('1100')thenN'گزینه3و4'
when('1101')thenN'گزینه1و3و4'
when('1110')thenN'گزینه2و3و4'
when('1111')thenN'گزینه1و2و3و4'
end

FROM dbo.view_SelectAnswer2 WHERE ([ExAns_ID] =@ExAns_ID )

End

اینم خروجیشه91162

میخوام این جوری بشه91161

baktash.n81@gmail.com
دوشنبه 23 مرداد 1391, 07:57 صبح
سلام

دوست عزیز از همون دستور Case می تونی استفاده کنی ... به اینصورت


CASE
WHEN Boolean_expression THEN result_expression [ ...n ]
[ ELSE else_result_expression ]
END