【问题标题】:Do While loop Calculation in Sql Server在 Sql Server 中执行 While 循环计算
【发布时间】:2015-08-26 13:25:04
【问题描述】:

我在这里有一个棘手的场景。
我有一个值ABBXY (B=X+Y) 的总和,其中Y 应该是A+X 的10%

例子:

如果A=40B=15 那么我需要一个计算,将XY 作为

X=10
Y=5 (10% of A+X i.e 40+10=50)

尝试循环和其他反向计算但没有运气!

【问题讨论】:

  • 指定您的问题,A,B X, Y 是变量,来自某个表的列还是其他?
  • 这是一个很好的起点。 spaghettidba.com/2015/04/24/…
  • 你想得到什么?
  • 会给你什么值,你想推导出什么?
  • @SeanLange,谢谢你的链接!给它加了书签...

标签: sql-server sql-server-2008


【解决方案1】:
DECLARE @A DECIMAL(4,2) = 40;
DECLARE @B DECIMAL(4,2) = 15;

DECLARE @Y DECIMAL(4,2);
DECLARE @X DECIMAL(4,2);

SET @Y = (0.1 * @A + 0.1 * @B)/1.1;
SET @X = @B-@Y;
SELECT @X AS X, @Y AS Y;

【讨论】:

  • 它将是SET @Y = (0.1 * @A + 0.1 * @B)/1.1; 还是SET @Y = (0.1 * @A + 0.1 * (@B-@Y))/1.1;,因为它读取 Y 是 A+X 的 5%,即 Y 是 A+(B-Y) 的 5%
猜你喜欢
  • 2011-05-28
  • 2016-01-02
  • 2020-03-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-25
  • 2018-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多