当前位置: 代码迷 >> Oracle开发 >> sql 加数据有关问题
  详细解决方案

sql 加数据有关问题

热度:118   发布时间:2016-04-24 06:27:43.0
sql 加数据问题
现在我遇到一个问题, 我现在有一张表,要去查三个数据,num  ,year , type,现在查出来的数据如下
1 2 2012 横向项目
2 1 2014 横向项目
3 1 2011 横向项目

没有2013年的数据 ,表中也没有这一年的数据,现在我要判断年份给13年的的num  加一条数据,num=0,
问怎么写这个SQL
查完之后的数据要如下展示

1 2 2012 横向项目
2 1 2014 横向项目
3 1 2011 横向项目
4       0    2013       横向项目
------解决思路----------------------
先准备一个年份表填上必须要有的年份 t1(year)
在准备一个项目表填上必须要有的项目 t2(type)
    SELECT NVL(t3.num,0) AS num
           t1.year,
           t2.type,
      FROM t1
      JOIN t2
        ON 1=1
 LEFT JOIN table1 t3
        ON t1.year = t3.year
       AND t2.type = t3.type
  ORDER BY t1.year, t1.type

------解决思路----------------------
根据日期 最大值最小值之差用connect  by 树形生成    然后 在left join  
  相关解决方案