首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从两个select语句中减去值

如何从两个select语句中减去值
EN

Stack Overflow用户
提问于 2010-04-10 05:48:02
回答 4查看 19.5K关注 0票数 4

我想从一个值中减去另一个值。表的模式如下:

代码语言:javascript
复制
   tag, datetime,value
   ------------
   tag1, 2010-1-1 10:10:00, 123
   tag2, 2010-2-2 10:12:00. 321

  select * from  

  ( (Select    Max(Value) as [Value1] from History WHERE Datetime ='2010-1-1 10:10'       and tagname ='tag1') as v1   -

  (  (Select    Max(Value) as [Value2] from History WHERE Datetime ='2010-1-1 10:12'      and Tagname ='tag2')  as v2))

显然I‘m lost...how do I do this。

谢谢

ms-sql

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-10 05:53:47

总猜测:

代码语言:javascript
复制
select v1.Value1 - v2.Value2 from  

  (Select    Max(Value) as [Value1] from History WHERE Datetime ='2010-1-1 10:10' and tagname ='tag1') as v1   

CROSS JOIN

  (  (Select    Max(Value) as [Value2] from History WHERE Datetime ='2010-1-1 10:12'      and Tagname ='tag2')  as v2)
票数 8
EN

Stack Overflow用户

发布于 2010-04-10 05:56:05

你真的需要包装select语句吗?

您可以声明两个变量@value1@value2并将其子结构。

代码语言:javascript
复制
declare @value1 int, @value2 int

select @value1 = Max(Value) as [Value1] from History WHERE Datetime ='2010-1-1 10:10'       and tagname ='tag1'

select @value2 = Max(Value) as [Value2] from History WHERE Datetime ='2010-1-1 10:12'      and Tagname ='tag2'

select @value1 - @value2
票数 1
EN

Stack Overflow用户

发布于 2010-04-10 05:56:48

值列的类型是什么?如果它已经是一个整数,只需执行以下操作:

代码语言:javascript
复制
SELECT 

  (Select Max(Value) as [Value1] from History WHERE Datetime ='2010-1-1 10:10'       and tagname ='tag1') as v1   -

  (Select Max(Value) as [Value2] from History WHERE Datetime ='2010-1-1 10:12'      and Tagname ='tag2')  as v2

否则,您将不得不将其转换为整数或任何您想要的数值类型

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2611174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档