没看懂.估计是这个:
select a.* , b.* from table a,
(select   column_name   from   column_list   where   area=1) b
where a.id = b.id

解决方案 »

  1.   


    看楼主的意思,貌似想用动态语句:
    declare @sql varchar(50)
    select @sql=column_name  from   column_list   where   area=1 
    exec('select   id,name,sex'+@sql+' from   table') 
      

  2.   

    不是! select column_name from column_list where area=1 这个是我要从colunm_list表里面取出的当area=1时候 应该查出来的table表里的字段名称
    select column_name from column_list where area=1 查询的结果是addr,city,pro 我想实现的功能等同与下面的语句 
    select   id   ,name,sex,addr,city,pro   from   table 
    也就是想吧addr,city,pro动态根据条件查询出来
      

  3.   


    不好意思。掉了个符号。
    看楼主的意思,貌似想用动态语句:
    declare @sql varchar(50)
    select @sql=column_name  from   column_list   where   area=1 
    exec('select   id,name,sex,'+@sql+' from   table')