目的很简单:数据库中各表的字段名称为仍然为英文;但给用户看的时候,或者让用户自行选择导出字段的时候,能够让用户看见的却是中文意思?不想用AS 关键字,因为表特别多,字段也太多了。记得以前看过别人用Foxpro来做过,但记不起是怎么做的了。谢谢各位了,先!

解决方案 »

  1.   

    你字段名为英文,要显示为中文 
    显示时的对应关系也要人为指定的吧!!select '想写'=col1,
           没事 =col2,
           col3 as  '事情'
    from tb或许我真的不懂 :)关注........
      

  2.   

    可以用参照表,但是这样的操作势必用到动态SQL。
      

  3.   

    create table test_t1(ID int,name varchar(20))
    insert into test_t1 select 1,'AAAA'
    insert into test_t1 select 2,'BBBB'
    create table test_t2(Ename varchar(20),Cname varchar(20))
    insert into test_t2 select 'ID','编号'
    insert into test_t2 select 'name','姓名'declare @s varchar(8000)
    set @s=''
    select
        @s=@s+','+Ename+' as '+Cname
    from
        syscolumns a,
        test_t2 b
    where
        a.name=b.Ename and a.id=object_id('test_t1')
    order by
        a.colidset @s='select '+stuff(@s,1,1,'')+' from test_t1'exec(@s)/*
    编号         姓名                   
    ----------- -------------------- 
    1           AAAA
    2           BBBB
    */drop table test_t1,test_t2
      

  4.   

    zjcxc(邹建):我最头痛就是查询太多了,按你说的,我的主表基本上只有一个,只是与主表的联合查询比较多;但因有比较多的报表查询、统计查询,还有导出数据,数据字段要求各不一样,非常麻烦,经常要用AS 别名来做。不过现在大家都给出了不同意思,我基本上明白各种方法的原理。现在还是同意zjcxc(邹建)的办法,用一个视图,然后在程序中控制动态生成查询语句,操作比较直观,而且也用不着我每次都去自己写代码了。如果大家还有更好的办法,欢迎发表,再次表示感谢!
    今天晚上来结帐,呵呵!
      

  5.   

    一般来说, 如果查询的方式是固定的就建议使用存储过程. 
    当然, 还可以加上:
    1. 处理的逻辑较为复杂(但不建议把业务逻辑过多的封装在存储过程中)
    2. 查询参数较为固定
    3. 处理过程多数能利用sql语句实现批处理.