求教一复杂查询 一表的部分字段如下:no(识别号),sssq_q(所属期起),sssq_z(所属期止),其中no为主键,现表A中已有no为12345,sssq_q为2007.07.01,sssq_z为2007.07.31的记录,要求查询出该识别号本年所缺记录,即前六个月的记录,共六条,不知如何操作?小弟初学sql,请教各位了!!!谢谢了先。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好的,比如现在查询的结果为:select * from table a;------------------------------ no sssq_q sssq_z------------------------------12345 2007-07-01 2007-07-31------------------------------现在想通过查询得出本年所缺各月的记录,即1-6月份的六条数据,查询结果应为:12345 2007-01-01 2007-01-3112345 2007-02-01 2007-02-2812345 2007-03-01 2007-03-3112345 2007-04-01 2007-04-3012345 2007-05-01 2007-05-3112345 2007-06-01 2007-06-30 不知道和LZ的需求是否相符,试试看~~~select tt.sno, add_months(to_date(to_char(tt.sssq_q,'yyyy')||'0101','yyyy-mm-dd'),rn-1) as Month_Head, last_day(add_months(to_date(to_char(tt.sssq_q,'yyyy')||'0101','yyyy-mm-dd'),rn-1)) as Month_End from tablename tt, ( select rownum rn from tablename tt, all_objects where rownum <= to_char(sssq_q,'mm')-1 )yy;==========result========================= SNO MONTH_HEAD MONTH_END---------- ----------- ----------- 12345 1/1/2007 1/31/2007 12345 2/1/2007 2/28/2007 12345 3/1/2007 3/31/2007 12345 4/1/2007 4/30/2007 12345 5/1/2007 5/31/2007 12345 6/1/2007 6/30/20076 rows selected 不明白? 麻烦说清楚些.既然No是key,怎么可能会有针对key的重复记录,除非是别的表格上和这个no有关联. 100分求一sql语句 用RMAN备份数据到磁带出错!!解决问题一定给分!!江湖救急啊!! ORA-12054: 无法为实体化视图设置 ON COMMIT 刷新属性 rownum和distinct一并使用 请问大虾们:这是什么问题造成的? 从SQL2000导数据到oracle 9.2 ,测试连接的时候报错?? oci.dll的问题 oracle8.1.7+Red Hat Linux安装 一个SQL语句问题,请帮忙 简单问题,什么是触发器?它的机制是什么?作用是什么?有哪些类型没? 复杂的数据导出(寻高手) sqlldr导入number类型数据时出错
select * from table a;
------------------------------
no sssq_q sssq_z
------------------------------
12345 2007-07-01 2007-07-31
------------------------------
现在想通过查询得出本年所缺各月的记录,即1-6月份的六条数据,查询结果应为:
12345 2007-01-01 2007-01-31
12345 2007-02-01 2007-02-28
12345 2007-03-01 2007-03-31
12345 2007-04-01 2007-04-30
12345 2007-05-01 2007-05-31
12345 2007-06-01 2007-06-30
select tt.sno,
add_months(to_date(to_char(tt.sssq_q,'yyyy')||'0101','yyyy-mm-dd'),rn-1) as Month_Head,
last_day(add_months(to_date(to_char(tt.sssq_q,'yyyy')||'0101','yyyy-mm-dd'),rn-1)) as Month_End
from tablename tt,
(
select rownum rn
from tablename tt,
all_objects
where rownum <= to_char(sssq_q,'mm')-1
)yy;
==========result========================= SNO MONTH_HEAD MONTH_END
---------- ----------- -----------
12345 1/1/2007 1/31/2007
12345 2/1/2007 2/28/2007
12345 3/1/2007 3/31/2007
12345 4/1/2007 4/30/2007
12345 5/1/2007 5/31/2007
12345 6/1/2007 6/30/20076 rows selected
既然No是key,怎么可能会有针对key的重复记录,除非是别的表格上和这个no有关联.