有两个表第一个表:字段1,字段2,字段3
第二个表:字段
     基本工资
     奖金
     天数
查第一个表:字段1显示基本工资,字段2显示奖金,字段3显示天数

解决方案 »

  1.   

    在程序里做吧。单独用SQL语句写有点难
      

  2.   

    declare @sql varchar(2000),@i int
    select @sql='',@i=1
    select @sql=@sql+',字段'+ltrim(@i)+'='+字段+'',@i=@i+1 from @t2
    print stuff(@sql,1,1,'')
      

  3.   

    to zlp321002(泰迪熊) 你说得对
    select stuff(@sql,1,1,'')  from 第一个表 ?应怎么写
      

  4.   

    declare @sql varchar(2000),@i int
    select @sql='',@i=1
    select @sql=@sql+',字段'+ltrim(@i)+'='+字段+'',@i=@i+1 from 表2
    exec('select '+stuff(@sql,1,1,'')+' from 表1')
      

  5.   

    to zlp321002(泰迪熊)declare  @sql  varchar(2000),@i  int  
    select  @sql='',@i=1  
    select  @sql=@sql+',字段'+ltrim(@i)+'='+字段+'',@i=@i+1  from  表2  
    exec('select  '+stuff(@sql,1,1,'')+'  from  表1') 
    这么写提示第 6 行: 'stuff' 附近有语法错误。
      

  6.   

    declare  @sql  varchar(2000),@i  int  
    select  @sql='',@i=1  
    select  @sql=@sql+',字段'+ltrim(@i)+'='+字段+'',@i=@i+1  from  表2  
    set @s='select '+stuff(@s,1,1,'')+ ' from 表1'
    exec(@s)
      

  7.   

    zlp321002(泰迪熊)[有qq号码] 执行后,没有返回结果,提示“命令已成功完成。

    declare    @sql    varchar(2000),@i    int      
    select    @sql='',@i=1      
    select    @sql=@sql+',字段'+ltrim(@i)+'='+字段+'',@i=@i+1    from    表2      
    set  @s='select  '+stuff(@s,1,1,'')+  '  from  表1'  
    exec(@s)