假设我有一个时间的表A,表结构,数据如下:
year_di year_name quarter_id quarter_name
2002 2002年 2002Q1 2002年第一季度
2003 2003年 2003Q1 2003年第一季度我想把它转换成一个视图B,从上述A表的数据转换到如下的结构,数据:
time_id time_name
2002 2002年
2002Q1 2002年第一季度
2003 2003年
2003Q1 2003年第一季度如果用新建另外一个表,用insert语句插入去倒是可以很容易实现
但是用视图的话还没有想出
year_di year_name quarter_id quarter_name
2002 2002年 2002Q1 2002年第一季度
2003 2003年 2003Q1 2003年第一季度我想把它转换成一个视图B,从上述A表的数据转换到如下的结构,数据:
time_id time_name
2002 2002年
2002Q1 2002年第一季度
2003 2003年
2003Q1 2003年第一季度如果用新建另外一个表,用insert语句插入去倒是可以很容易实现
但是用视图的话还没有想出
union
select year_id,quarter_name time_name from a;
union
select quarter_id,quarter_name time_name from a
order by year_id desc
select year_id,year_name time_name from a
union
select quarter_id,quarter_name time_name from a
) order by year_id desc
正确的如下:
select a.YearID as time_id,a.YearName as time_name from a
union
select a.quaterID as time_id,a.quaterName as time_name from a
union
select a.halfYearID as time_id,a.halfYearName as time_name from a
union
select a.monthID as time_id,a.monthName as time_name from a
select a.YearID as time_id,a.YearName as time_name from a
union
select a.quaterID as time_id,a.quaterName as time_name from a
union
select quarter_id,quarter_name time_name from a
order by year_id desc
select year_di time_id,year_name time_name from A
union all
select quarter_id,quarter_name from A) order by time_id
select year_di time_id,year_name time_name from A
union all
select quarter_id,quarter_name from A) order by time_id