--你的函数是怎么写的?--如果是这样写的 create function 函数名(@id int) returns varchar(10) as begin declare @name varchar(10) select @name=name from 表 where id=@id return(@name) end go--那就这样写视图 create view view_name as select dbo.函数名(b.t_id) as t_name, 表2.其他字段 from 表2 b join 表1 a on a.f1=b.f2
zjcxc(邹建): 如果表1中有很多个字段都需要根表2的f2关联,那其不是需要建立很多个表1的副本 select dbo.函数名(b.t_id) as t_name, dbo.函数名(c.s_id) as s_name,
表2.其他字段 from 表2 b inner join 表1 a on a.f1=b.f2 inner join 表1 c on c.f2=b.f2
create function 函数名(@id int)
returns varchar(10)
as
begin
declare @name varchar(10)
select @name=name from 表 where id=@id
return(@name)
end
go--那就这样写视图
create view view_name
as
select dbo.函数名(b.t_id) as t_name,
表2.其他字段
from 表2 b join 表1 a on a.f1=b.f2
如果表1中有很多个字段都需要根表2的f2关联,那其不是需要建立很多个表1的副本
select dbo.函数名(b.t_id) as t_name,
dbo.函数名(c.s_id) as s_name,
表2.其他字段
from 表2 b
inner join 表1 a on a.f1=b.f2
inner join 表1 c on c.f2=b.f2