问题描述:
1、假设有表
t1表,包含四列
s1 a b c
1 a a a
2 b b b
.........t2表,包含2列
s2 ff
1 77
2 88
............如何生成这样的合并视图s1 a b c ff
1 a a a
2 b b b
1 77
2 88问题2:
假设能生成上述视图,现在要请求,标识出数据是来源
假设来自t1白的数据标示符为xx,来自t2表的数据标识为yy
那么,如何生成这样的视图:
s1 a b c ff mm(新列)
1 a a a xx
2 b b b xx
1 77 yy
2 88 yy
要求是不能修改t1,t2的表结构!!!!分不够说,另开贴加
1、假设有表
t1表,包含四列
s1 a b c
1 a a a
2 b b b
.........t2表,包含2列
s2 ff
1 77
2 88
............如何生成这样的合并视图s1 a b c ff
1 a a a
2 b b b
1 77
2 88问题2:
假设能生成上述视图,现在要请求,标识出数据是来源
假设来自t1白的数据标示符为xx,来自t2表的数据标识为yy
那么,如何生成这样的视图:
s1 a b c ff mm(新列)
1 a a a xx
2 b b b xx
1 77 yy
2 88 yy
要求是不能修改t1,t2的表结构!!!!分不够说,另开贴加
select s1, a, b, c,null ff from t1
union all
select null s1, null a, null b,null c, ff from t2;
select s1, a, b, c,null ff,'XX' mm from t1
union all
select null s1, null a, null b,null c, ff,'YY' mm from t2;
楼上回答已经差不多了。union all下面的列别名就不用加了
select s1,a,b,c,null ff,'XX' mm from t1
union all
select s1,null,null,null,ff,'YY' from t2
create view VIEWNAME
as
select s1,a,b,c,null ff,'XX' mm from t1
union all
select s1,null,null,null,ff,'YY' from t2
select g_num,g_name,g_departnum,g_departname,g_ttm null,g_tvalue,null g_tvaluek from gjj_2
union all select g_num,g_name,g_departnum,g_departname,null g_ttm,g_tvaluek,g_tmk from gjj_3
哪里错了,请给个说明
select g_num,g_name,g_departnum,g_departname,g_ttm,g_tvalue,null g_tvaluek from gjj_2
union all select g_num,g_name,g_departnum,g_departname,null g_ttm,g_tvaluek,g_tmk from gjj_3
哪里错了,请给个说明
估计你把不同类型的字段进行的union all
union all
select g_num,g_name,g_departnum,g_departname,null g_ttm,g_tvaluek,g_tmk from gjj_3
最后两个列名不匹配
gjj_3的特殊列为:没有g_ttm列,g_tvaluek列也是数值,g_tmk是gjj_2没有的列是字符串值其余列都一样