一共三张表,
表A
字段1 (int),
字段2 (datetime),
字段3 (varchar)表B
字段b1(int),
字段b2(varchar)表C
字段c1(int),
字段c2(datetime)表A.字段1,表B.字段b1,表C.字段c1为同一内容字段,主外键关系字段查询结果为表A.字段2   表A.字段3表B.字段2   表C.字段2表B和表C的查询结果接在表A的查询结果下面查询出一个结果集并对日期字段进行排序!

解决方案 »

  1.   

    select a.a3 , a.a2 from a
    union all
    select b.b2 , c.c2 from b , c where b.b1 = c.c1
    order by a.a3
      

  2.   

    查询结果B C表的字段顺序 跟A表的字段顺序不一致,不行的吧
    B C表顺序不能换一下么?这样:select 字段2 as date,字段3 from A
    union all
    select C.字段2 as date,B.字段2 from B,C where B.字段1=C.字段1
    order by date
      

  3.   

    select convert(varchar(20),a.字段2 ,121), a.字段3 from a
    union all
    select b.b2 , c.c2 from b , c where b.b1 = c.c1
    order by a.a3
      

  4.   

    现在还有个问题,表B.字段2中的数据进行筛选例如表B.字段2中如果是‘aaa’,就不让它这行记录显示在结果集中
    表B.字段2中如果是‘bbb’,就让它这行记录显示在结果集中
      

  5.   

    select * from(
    select a.a2 as d1,a.a3 as d2
    from a
    union
    select c.c2 as d1,b.b2 as d2
    from b,c where b.b1=c.c1) a
    order by d1
      

  6.   


    select a.a3 , a.a2 from a
    union all
    select b.b2 , c.c2 from b , c where b.b1 = c.c1 and b.b2 = 'bbb'
    order by a.a3