Предположим, что структура ваших таблиц выглядит следующим образом:
create table ClassTable(
ClassID int not null identity(1, 1),
ClassName nvarchar(255) null,
CourceID int,
IsActive bit,
ClassTypeID int /* I added this column for join with [ClassType] table */
)
create table ClassType(
ClassTypeID int not null identity(1, 1),
ClassType nvarchar(255)
)
create table BookTable(
BookID int not null identity(1, 1),
BookName nvarchar(255),
ClassTypeID int,
IsActive bit
)
Скрипт для создания хранимой процедуры для отображения полей [ClassName]
, [BookName]
и [ClassType]
, передавая ClassID
как параметр, будет выглядеть так:
use [ NAME_OF_YOUR_DATABASE ]/* this need to define a name of your database */
go
set ANSI_NULLS on
go
set QUOTED_IDENTIFIER on
go
create procedure [dbo].[ NAME_YOUR_STORED_PROCEDURE ]/* this need to define a name of your storedproc */
@ClassID int,
@ClassName nvarchar(255) output,
@BookName nvarchar(255) output,
@ClassType nvarchar(255) output
as
begin
set NOCOUNT on
select
set @ClassName = classTable.ClassName
set @BookName = bookTable.BookName,
set @ClassType = classType.ClassType
from
ClassTable as classTable
inner join ClassType as classType on classType.ClassTypeID = classTable.ClassTypeID
inner join BookTable as bookTable on bookTable.ClassTypeID = classType.ClassTypeID
where
classTable.ClassID = @ClassID
end
И тогда вы сможете вызвать хранимую процедуру с помощью параметра
exec [ NAME_YOUR_STORED_PROCEDURE ] 123 /* this need to define value for ClassID as param */