sql查询语句同一表中,不同行之间字段相减

sql语句查询,表A中字段:a1b1c1a2b2c2(注:c为日期型)当a1=a2且b1>0,b2<0时,计算出c2-c1的值d,如果a2,b2,c2这行不存在,则计算出... sql语句查询,表A中字段:
a1 b1 c1
a2 b2 c2
(注:c为日期型)
当a1=a2且b1>0,b2<0时,计算出c2-c1的值d,
如果a2,b2,c2这行不存在,则计算出当天日期减去c1的值d。怎么定义表中的第一行或者第二行?因为查询出得表最多有两行,要用第一行的c值减去第二行的c值用什么表达式?例如表明为table“table第一行c-table第二行c=d”sql语句要怎么写?
展开
 我来答
匿名用户
2013-08-06
展开全部
先按A 然后B 升序排列 再加一个 递增int列
形成一个临时表 再从这个临时表
分组得出 A列 COUNT (2) 和最小主键值(递增int列) 形成一个临时查询表TMP
然后取出TABLE里的A列 去JION 当 TMP.COUNT =2的 A 主键列
如果主键不是最小主键 那么作为被减数 最小的作为减数
可以得出你要的A和D COUNT=1的 直接用 NOW去减
匿名用户
2013-08-06
展开全部
根据责任单一原则, Sql语句应该只做数据库查询操作, 你的具体复杂业务流程最好放在业务层做处理.那这个问题就非常简单. Sql只要把表这两行读出来,剩下的你代码里去解决,就一个减法而已.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式