让我们假设我们有下表
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查询来做到这一点? 我需要你的帮助再次被卡住,而不是提前。
答案 0 :(得分:0)
您可以将这些计算添加到您的查询中,例如
(40 + 50 + fieldName * anotherFieldName)AS计算
你甚至可以使用像
这样的子表(40 + 50 +(SELECT fieldName FROM anotherTable WHERE someValue)AS计算
答案 1 :(得分:0)
create view dringe_view as
select (sum(inlet) – sum(outlet) ) +sum(outlet) – sum(dispatched ) as total_summary
from tab
但是你的计算可以进一步简化(删除出口 - 出口)到(入口 - 派遣)
答案 2 :(得分: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
但是添加插座然后减去插座将是多余的。公式中的括号也是多余的,因为所有运算符都是加法/减法,你的运算符之一是乘法/除法吗?