上面写的有点错误
应该为
要产生这样一个视图
No  x1 name y1 x2 name y2 x3 name y3 x4 name y4 
1   a1 任务1 1 b1 任务2 0 c1 任务3 0 d1  任务4 0
2   a2 任务1 0 b2 任务2 0 c2 任务3 0 d2  任务4 0
3   a3 任务1 1 b3 任务2 1 c3 任务3 0 d3  任务4 1

解决方案 »

  1.   

    如果就这么几条数据,就直接把两个表建成一个表好了,做视图多费劲.
    -----------------------------------------
    但原来没有做成一个表,通常的含义表明,t1的数据会继续增加,t2的数据也会继续增加.
    视图的结构中,是把t2的数据从纵向变成了横向,再与t1合成一条记录.
    问题在于,t2会继续增加数据吗?
    t1与t2凭什么关联在一起?
    有了这两个答案,视图的创建就可以了.
      

  2.   

    实际上不止到x4,应用中到x28,t1的字段名(以x开始)在t2中为id字段的值
      

  3.   

    Select *
    From (Select A.No,A.x1,DeCode(B.ID,'x1',B.Name,'*') As Name1,A.y1,
                      A.x2,DeCode(B.ID,'x2',B.Name,'*') As Name2,A.y2,
                      A.x1,DeCode(B.ID,'x3',B.Name,'*') As Name1,A.y3,
                      A.x2,DeCode(B.ID,'x4',B.Name,'*') As Name2,A.y4
          From T1 A,
               T2 B)
    Where Name1 <> '*' or Name2 <> '*' or Name3 <> '*' or Name4 <> '*';没有环境,因而没有经过测试。至少想法没有错.