-1

假设我们有下表

TABLE NAME : DRINGE
__________________________________________________

ID  PRODUCT MACHINE MASS    STATE
01  1.76ann HRB 50  inlet
02  1.76ann HRB 38  inlet
03  2.55ann GUDO    45  outlet
04  95mm x 4    GUDO    36  dispatched
___________________________________________________

以及以下公式:

(inlet –outlet ) +outlet – dispatched = [resulted displayed to new view]

并且要替换的值是:


INLET = 50 , 38
OUTLET=45
DISPATCHED = 36

所以代入上式

[(inlet –outlet ) +outlet – dispatched = [resulted displayed to new view]

我们得到这个

(50+38 – 45 ) + 45 – 36 = 52 

我想要的是结果,即 52 显示在 sql 视图中,如下图所示

Dringe VIEW
_____________
Total_summary|
_____________|
 52          |
_____________|

. 有谁知道我可以用来执行此操作的 sql 查询吗?我很需要你的帮助再次陷入困境,谢谢。

4

3 回答 3

0

您可以将这些计算添加到您的查询中,例如

(40+50+fieldName*anotherFieldName) AS计算

你甚至可以使用子表

(40+50+(SELECT fieldName FROM anotherTable WHERE someValue) AS 计算

于 2013-08-29T21:18:14.023 回答
0
create view dringe_view as
select (sum(inlet) – sum(outlet) ) +sum(outlet) – sum(dispatched ) as total_summary
from tab

但是您的计算可以进一步简化(删除出口 - 出口)到(入口 - 调度)

于 2013-08-29T21:19:12.267 回答
0

以下将遵循您的公式

CREATE VIEW DRINGEView AS 
SELECT sum(case when state = 'inlet' then mass else 0 end) - 
       sum(case when state = 'outlet' then mass else 0 end)+
       sum(case when state = 'outlet' then mass else 0 end) -
       sum(case when state = 'dispatched' then mass else 0 end) AS Total_summary
FROM dringe

但是添加出口然后减去出口将是多余的。您的公式中的括号也是多余的,因为您的所有运算符都是加法/减法,您的运算符之一可以是乘法/除法吗?

于 2013-08-29T21:19:36.893 回答