不用 select * from 表名
那样把所有数据都显示了..我要查询结果显示为一列.竖例.

解决方案 »

  1.   

    没人?select name from syscolumns where id=object_id('tb1') order by colid
      

  2.   

    行转列?or select name from syscolumns where id=object_id('表名')
      

  3.   

    要是所有列都并到一列可用下面的,并不保证都能转换成功,(刚用要学术语的改的)
    declare @sql varchar(8000) 
    select @sql=isnull(@sql+' union all select ','select ')+'cast('+ name+' as varchar(200)) 新列 from tb1 ' from syscolumns where id=object_id('tb1') order by colid
    exec(@sql)
      

  4.   


    DECLARE @hh TABLE(id int IDENTITY(1,1),m_param varchar(200))
    INSERT INTO @hh (m_param)
    SELECT 'one' UNION
    SELECT 'two' UNION
    SELECT 'three' UNION
    SELECT 'four' 
    SELECT id,m_param  FROM @hh/*
    id          m_param
    ----------- -----------
    1           four
    2           one
    3           three
    4           two
    */
    /*
    你要查询结果显示为一列.竖例.
    你要的是什么效果?
    */
    /*
    1
    four
    2
    one
    3
    three
    4
    two
    */
    --你是要这样的效果吗?