急求一SQL查询语句,生效当即给分

来源:百度知道 编辑:UC知道 时间:2024/06/25 05:08:24
两张表如下:
表一:
Name Type Nullable Default Comments
-------------- ------------- -------- ------- ------------
SF_DATE DATE 邮件发送日期
SF_MAIL_TO VARCHAR2(200) 收件人地址
SF_ERRORCODE NUMBER(3) 错误代码
SF_ERRORSTRING VARCHAR2(200) 错误说明
表二:
Name Type Nullable Default Comments
---------- ------------- -------- ------- ------------
SS_DATE DATE 邮件发送日期
SS_MAIL_TO VARCHAR2(200) 收件人地址

要求传入参数有三个,开始日期,结束日期和收件人地址
要用一条SQL查出日期在开始日期和结束日期之间的每一天的邮件发送成功和失败总数(ps:表一为发送失败表,表二为发送成功表,数据库是oracle)

有能力者再说下用一条SQL查出在开始日期和结束日期之间的每个错误代码和对应的数量
表一就是发送成功的表,符合条件的count(*)就是发送成功数
表二是失败.同上,

select a.date,a.succ.b.fail, (a.succ+b.fail) count from
(select SS_DATE date,count(*) succ from 成功表 where SS_DATE >=开始时间 and SS_DATE <=结束时间 group by SS_DATE) a,
(select SF_DATE date,count(*) fail from 失败表 where SS_DATE >=开始时间 and SF_DATE <=结束时间 group by SF_DATE) b
where a.date += b.date
group by a.date -- 修改了下,把分组丢了

时间的界限可能你自己要改下,另外开始、结束时间看你传的值类型,可能需要用to_date('时间字符串','yyyy-mm-dd')转换

你先试下,我现在没有oracle数据库,凭经验写的,看有问题没有

在开始日期和结束日期之间的每个错误代码和对应的数量
select SF_ERRORCODE date,count(*) count from 失败表 where SF_DATE >=开始时间 and SF_DATE <=结束时间 group by SF_ERRORCODE

发送成功失败在数据库的标志是?

要求传入参数有三个,开始日期,结束日期和收件人地址
要用一条SQL查出日期在开始日期和结束日期之间的每一天的邮件发送成功和失败总数,假设成功表名为:success,失败表名为:fail。已经测试通过

select *
from (select ss_date, count(*) as chenggong
from success t
where t.ss_date > to_date('2008-01-01', 'YYYY-MM-DD')
and