select id,name from (select *,'aspnet' 所属表 from aspnet union all select *,'csharp' from csharp) c where id=1 order by c.id desc

解决方案 »

  1.   

    select id,name from (select * from aspnet where id=1 union all select * from csharp ) c order by id desc
      

  2.   

    楼上高手:这么写怎么不对呢
    select name,id,title,publicdate from (select id,title,publicdate from aspnet union all select id,title,publicdate from csharp) c where title like '%"&title&"%' order by c.id desc"
    我在asp这么写的,title是request的值,用的access数据库
      

  3.   

    如果不加name就是对的,这个name你的意思是表名?
      

  4.   

    select name,id,title,publicdate from (select id,title,publicdate from aspnet union all select id,title,publicdate from csharp) c where title like '%"&title&"%' order by c.id desc"不加name就是对的你的aspnet 和csharp合并为c表后,c表里面就只有id,title,publicdate 3列啦,你从c表进行查询,怎么可以找到name列呢所以不加name就是对的
      

  5.   

    select names,id,title,publicdate 
    from (
    select 'aspnet'as names, id,title,publicdate from aspnet 
    union all 
    select 'csharp' as names,id,title,publicdate from csharp)  as c 
    where title like '%"&title&"%' order by c.id desc"给2个表加上一个表示字段names
    这样查询出来的c表里面就有names字段啦
    里面带有数据,你可以分出数据从哪个表来啦
      

  6.   

    你加个表名就行啦,例如:select 表名,id,name
    from (select 表名='aspnet',* from aspnet union all select 'csharp',* from csharp) c
    where id=1 order by c.id desc