tabel 1
  {
   id  int;
   bxgs_id int;
   unin_id int;
  }
table2
 {
   id int;
   name varchar(20);
  } table1 中记录有这样一条
    id  bxgs_id  unin_id
    1     3      6
 table2
    id     name
    3     “你好”
    6     “再见”
  其中 table1中的3 要根据table2中的id,转化成对应的name
       table1中的6 要根据table2中的id,转化成对应的name
 
 最后查询table1时应显示;
  select id, fun_getname(bxgs_id),fun_getname(unin_id) from table1 
          1      “你好”            “再见”
其中 fun_getname函数在sql server 中如何编写?

解决方案 »

  1.   

    create function fun_getname(@cid varchar(20))
    returns varchar(30)
    as
    begin
          select @cid=name from table2 where id=@cid 
        return @cid
    go
      

  2.   

    create function fun_getname(@cid varchar(20))
    returns varchar(30)
    as
    begin
          select @cid=name from table2 where id=@cid 
        return @cid
    go
      

  3.   

    好,给加上!
    create function fun_getname(@cid int)
    returns varchar(30)
    as
    begin
    declare @name varchar(30)
    select @name=name from table2 where id=@cid 
    return @name
    end
    go
    declare @bxgs_id int
    declare @unin_id int
    set @bxgs_id = 3
    set @unin_id = 6
    select id,dbo.fun_getname(@bxgs_id) name1,dbo.fun_getname(@unin_id) name2
    from table1
    where id=1
    返回:
    id          name1                          name2                          
    ----------- ------------------------------ ------------------------------ 
    1           你好                             再见(所影响的行数为 1 行)