有表记录
T_TABLE_1
COL_1  COL_2  COL_3  COL_4  COL_5  COL_6
1      Z001   Z002    Z003  Z004   3
2      Z001   Z002    Z003  Z004   4
3      Z001   Z002    Z003         5 
4      Z001   Z002                 6
5      Z001                        7
6                                  8
假如COL_2 COL_3  COL_4  COL_5 中存放的都是代码  ,它的名称对应在T_TABLE_2 中
COL_1   COL_2  COL_3
1       Z001   张三  
1       Z002   李四
1       Z003   王五
1       Z004   赵大我如何建立视图  要结果为:1      Z001 张三  Z002 李四   Z003 王五  Z004 赵大  3
2      Z001 张三  Z002 李四   Z003 王五  Z004 赵大  4
3      Z001 张三  Z002 李四   Z003 王五             5 
4      Z001 张三  Z002 李四                         6
5      Z001 张三                                    7
6                                                   8

解决方案 »

  1.   

    select a.col_1,a.col_2,b.col_3,a.col_3,c.col_3,
    a.col_4,d.col_3,a.col_5,e.col_3,a.col_6  from table1 a,table2 b,table2 c,table2 d,table2 e
    where a.col_2=b.col_2 and a.col_3=c.col_2 and a.col_4=d.col_2 and a.col_5=e.col_2;
      

  2.   

    这样不对的   只有当COL_2,COL_3,COL_4,COL_5全有值时,才能查出来   
    只要哪个字段没有值
    那条记录就不显示了
      

  3.   

    赫赫,用左外连接就好了。做法就是上面的人写的,table2 的四次连接。select a.COL_2,a.COL_2,b.COL_3,a.COL_3,c.COL_3,a.COL_4,d.COL_3,a.COL_5,e.COL_3,a.COL_6
    from T_TABLE_1 a
    left outer join T_TABLE_2 b on a.COL_2 = b.COL_2
    left outer join T_TABLE_2 c on a.COL_2 = c.COL_2
    left outer join T_TABLE_2 d on a.COL_2 = d.COL_2
    left outer join T_TABLE_2 e on a.COL_2 = e.COL_2类似这样.
     
      

  4.   

    select a.col_2,(select col_3 from t_table2 b where a.col_2 = b.col_2) as col2_name,
           a.col_3,(select col_3 from t_table2 b where a.col_3 = b.col_2) as col3_name,
           a.col_4,(select col_3 from t_table2 b where a.col_4 = b.col_2) as col4_name,
           a.col_5,(select col_3 from t_table2 b where a.col_5 = b.col_2) as col5_name,
           a.col_6 
      from table_1 这样因该也行的。但是用这种子查询要注意了,子查询必须的出的结果是唯一的。