可能会根据条件选择出多个t_id那返回的是不是结果集啦.
那应该是
select * from dbo.函数名啊

解决方案 »

  1.   

    --你的函数是怎么写的?--如果是这样写的
    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
      

  2.   

    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