select max(id) as id1 From a union all
select max(id) as id2 From b union all
select max(id) as id3 From c得出的结果集为id1
10
11
12想改为横向显示id1   id2    id2
10     11     12请大家赐教!

解决方案 »

  1.   

    select (select max(id) From a)as id1,
           (select max(id) From b) as id2,
           ( select max(id) From c) as id3 
      

  2.   

    select 
    id1 = (select max(id) From a),
    id2 = (select max(id) From b),
    id3 = (select max(id) From c)
      

  3.   

    十分感谢,再问深一点,如果有共同的搜索条件可否简化。如下:select (select max(id) From a where m_del = 0)as id1,
           (select max(id) From b where m_del = ) as id2,
           ( select max(id) From c where m_del = ) as id3 如果都有  where m_del = 0 一样的条件,可否简化输入呢。
      

  4.   


    select id1 = (select max(id) From a),
           id2 = (select max(id) From b),
           id3 = (select max(id) From c)
      

  5.   

    ------参考如下
    --SQL SERVER 2000 静态SQL,指课程只有语文、数学、物理这三门课程。(以下同)
    select 姓名 as 姓名 ,
      max(case 课程 when '语文' then 分数 else 0 end) 语文,
      max(case 课程 when '数学' then 分数 else 0 end) 数学,
      max(case 课程 when '物理' then 分数 else 0 end) 物理
    from tb
    group by 姓名--SQL SERVER 2000 动态SQL,指课程不止语文、数学、物理这三门课程。(以下同)
    declare @sql varchar(8000)
    set @sql = 'select 姓名 '
    select @sql = @sql + ' , max(case 课程 when ''' + 课程 + ''' then 分数 else 0 end) [' + 课程 + ']'
    from (select distinct 课程 from tb) as a
    set @sql = @sql + ' from tb group by 姓名'
    exec(@sql) --SQL SERVER 2005 静态SQL。
    select * from tb a pivot (max(分数) for 课程 in (语文,数学,物理)) b--SQL SERVER 2005 动态SQL。
    declare @sql varchar(8000)
    select @sql = isnull(@sql + '],[' , '') + 课程 from tb group by 课程
    set @sql = '[' + @sql + ']'
    exec ('select * from (select * from tb) a pivot (max(分数) for 课程 in (' + @sql + ')) b')
      

  6.   


    select id1 = max(a.id),
           id2 = max(b.id),
           id3 = max(c.id)
    from a,b,c
    where a.m_del = 0 and b.m_del = 0 and c.m_del = 0--试试!没测试。
      

  7.   

    十分感谢大家,再问多一个。select (select max(id) From a)as id1,
           (select max(id) From b) as id2,
           ( select max(id) From c) as id3 可否这样select (select max(id) From a)as id1,
           (select max(id) From b) as id2,
           ( select max(id) From c) as id3,
           (id1 + id2 + id3) as id4 呢?
      

  8.   


    select 
    (select max(id) From a) as id1,
    (select max(id) From b) as id2,
    (select max(id) From c) as id3,
    (select max(id) From a)+(select max(id) From b)+( select max(id) From c) 
    as id4