50分求一条SQL语句

来源:百度知道 编辑:UC知道 时间:2024/05/28 01:52:46
表一
table1(订购节目的表)
userid 用户ID
actid 节目ID
begintime 开始时间
endtime 结束时间
table2(续订节目的表)
actid 节目ID
begintime 续订时间
endtime 续订结束时间
传送3个参数给你,userid(用户ID) ,actid(节目ID), nowtime(现在的时间)
判断该用户是否能看该节目!(即该判断该用户ID是否订购了该节目,并且没有到期,如果订购了没有到期就可以播放,如果没有订购和到期了都不能播放,
如果是到期了就产看续订节目列表,看看是否续订了该节目,续订了并且也没有到期,则可以播放,否者不能播放!)
应该说的很明白吧!高手能不能用帮忙搞定啊(
数据库是oracle,可以用自带的那些函数,最好优化一下,因为该项目对SQL语句要求很高.尽量少占CPU
)
table2中应该还有一个userid

select * from table1 a,table2 b where a,userid=b.userid and a.userid=传进参数1 and actid =传进参数2 and (a.endtime>现在的时间 or b.endtime >现在的时间)

估计是这个意思吧?

你可以试试看写个存储过程来做,免得前台程序中产生混淆,使用存储过程的话,你在前台只需要传递需要的参数(当然,定义存储过程的时候,需要留带参),效率也高于单纯的SQL语句。

路过~

可以按 hgd0324 说法做