ورود

View Full Version : سوال: مشكل در طراحي sp



Iran58
چهارشنبه 23 تیر 1389, 07:31 صبح
سلام
هنگام طراحي sp زير به ارور برخورده ام لطفا كمك نماييد

create procedure GetAllRoleInForm
@FormID int
as
select tmp.id,tmp.FormName,cast(tmp.cnt as bit) as cnt
from (select *
,(select COUNT(*) from tblRolledBase_UserForms where tblRolledBase_Roles.RoleID = tblRolledBase_UserForms.RoleID and tblRolledBase_UserForms.FormID = @FormID)
as cnt from tblRolledBase_Roles) tmp
ارور موجود
Msg 207, Level 16, State 1, Procedure GetAllRoleInForm, Line 4
Invalid column name 'id'.
Msg 207, Level 16, State 1, Procedure GetAllRoleInForm, Line 4
Invalid column name 'FormName'

svahidm
چهارشنبه 23 تیر 1389, 09:41 صبح
سلام
قصد بي احترامي ندارم ولي خدا وكيلي قبل از مطرح كردن سوال يه كم رو مورد سوالتون دقت كنين .من نمي دونم چرا تو اين فروم هر كي هر خطايي داره فوري كپي مي كنه اينجا و يه تيكه كد هم ميذاره كنارش و سوال ميپرسه آخه اين SQL از كجا بفهمه tmp.id,tmp.FormName تو جدول هاي شما هست ،Select شما تمام فيلد هاي جدول Roles رو و فيلد count(*) رو داره كه اين دوتا فيلدي كه خطا ميده توش نيست اين هم طبيعي هست شما بايد در قسمت
select COUNT(*) from tblRolledBase_UserForms بنويسيد
select COUNT(*),id from tblRolledBase_UserForms و براي اون يكي فيلد هم از join استفاده كنيد
بازهم ببخشيد و موفق باشيد

Iran58
جمعه 25 تیر 1389, 08:17 صبح
سلام
باتشكر مشكلم با كد زير حل شد

create procedure GetAllRoleInForm
@FormID int
as
select tmp.RoleID,tmp.RoleName,cast(tmp.cnt as bit) as cnt
from (select *
,(select COUNT(*) from tblRolledBase_UserForms where tblRolledBase_Roles.RoleID = tblRolledBase_UserForms.RoleID and tblRolledBase_UserForms.FormID = @FormID)
as cnt from tblRolledBase_Roles) tmp