请教大家sql相关语句
本人sql菜鸟,但是由于项目需要,望大家帮忙。
表userprofile中有userid,moterid,sub等属性,表userdayengy中有userid,moterid,energy,startdate,enddate等属性,现在通过给sub信息,在userprofile中通过sub返回userid和moterid(当然有很多对啦),然后通过每一对userid和moterid,以及给予的startdate或enddate在userdayengy中返回energy。 得到用户需要的电量信息。
基本信息是这些,我是想到用游标,但具体如何操作不太会.......
[最优解释]
select energy
from userdayengy as a
where exists(select 1 from userprofile as b where b.userid=a.userid and b.moterid=a.moterid and b.sub='XXX') and (startdate='xxxx-xx-xx' or enddate='xxxx-xx-xx')
[其他解释]
--表userprofile中有userid,moterid,sub等属性
--表userdayengy中有userid,moterid,energy,startdate,enddate等属性
--现在通过给sub信息,在userprofile中通过sub返回userid和moterid
--然后通过每一对userid和moterid,以及给予的startdate或enddate
--在userdayengy中返回energy。
--定义参数
declare @sub varchar(40)
declare @startdate datetime,@enddate datetime
--参数赋值(略)
--关于两个时间的参数是用between还是用什么判断自行修改即可。
select
b.energy
from userprofile a join userdayengy b
on a.userid=b.userid and a.moterid=b.moterid
where a.sub=@sub
and b.startdate=@startdate
and b.enddate=@enddate