首页 新闻 会员 周边 捐助

问一个SQL问题,请大家指教

0
悬赏园豆:5 [已解决问题] 解决于 2014-10-09 10:41

有个表 ID  dateTimeA  dateTimeB dateTimeC

我想查出这样的结果集,每条数据显示  ID  大于当前时间的个数

 

 

由于自己想的方法感觉效率比较低,求相对好点的办法,我的想法是:先查出datetimeA大于当前时间 再查datetimeB大于...最后把几个结果集合并,谢谢大家!

风醉的主页 风醉 | 小虾三级 | 园豆:1197
提问于:2014-10-09 10:28
< >
分享
最佳答案
1

你可以使用Case When 的

Select ID, Case when dateTimeA>now then 1 else 0 end ,把三个字段比较的结果加起来就是个数了。

我就不详细写完了。

收获园豆:5
爱编程的大叔 | 高人七级 |园豆:30844 | 2014-10-09 10:35

额,非常thankyou,长久不写代码人都傻了,结贴

---依据标准日期,算出应收回款比例总和[日期小于当前日期的]
    update  #t_report set sum_rate=(case when 标准完工到货款日期<GETDATE() then rate1 else 0 end +case when 标准初验日期<GETDATE() then rate2 else 0 end+case when 标准终验日期<GETDATE() then rate3 else 0 end+case when 标准结项日期<GETDATE() then rate4 else 0 end)

 

风醉 | 园豆:1197 (小虾三级) | 2014-10-09 10:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册