Sql 连接、案例和操作

Sql 连接、案例和操作,sql,join,case,Sql,Join,Case,如何用SQL编写此公式 IF ((TableA.Col1-TableA.Col2-TableA.Col3)-(TableB.Col1*TableB.Col2))<(TableB.Col1*0.10) THEN TableA.Col4-30, ELSE TableA.Col4 IF((TableA.Col1 TableA.Col2 TableA.Col3)-(TableB.Col1*TableB.Col2))我们缺少TableA和TableB之间的关系。如果存在某种一对一的主键,请在下

如何用SQL编写此公式

IF ((TableA.Col1-TableA.Col2-TableA.Col3)-(TableB.Col1*TableB.Col2))<(TableB.Col1*0.10) 
THEN TableA.Col4-30, 
ELSE TableA.Col4

IF((TableA.Col1 TableA.Col2 TableA.Col3)-(TableB.Col1*TableB.Col2))我们缺少TableA和TableB之间的关系。如果存在某种一对一的主键,请在下面的查询中将其用于“pk”

SELECT 
case
when (TableA.Col1-TableA.Col2-TableA.Col3)-(TableB.Col1*TableB.Col2)<(TableB.Col1*0.1‌​0) 
then TableA.Col4-30 
else TableA.Col4 
end
FROM TableA 
JOIN TableB ON TableA.pk=TableB.pk
选择
案例

当(TableA.Col1 TableA.Col2 TableA.Col3)-(TableB.Col1*TableB.Col2)但您使用的是类似于ANSI SQL的东西时?到目前为止,您尝试过什么。我尝试过使用这个:您实际上是想将TableA.Col4
减少30,还是选择较小的值?(
UPDATE
vs
SELECT CASE
)从表a内接缝表B中选择(表a.Col1表a.Col2表a.Col3)-(表B.Col1*表B.Col2)我想将表a.Col4减少30(因此,如果表a.Col4为50,则结果将为20)这是否有不同?此语句必须在一个连续行中输入?换句话说,我没有在不同的行上创建不同语句的选项。这是我看到的情况……选择案例(TableA.Col1 TableA.Col2 TableA.Col3)-(TableB.Col1*TableB.Col2)我得到了它!非常感谢你,安德烈亚斯。
SELECT 
case
when (TableA.Col1-TableA.Col2-TableA.Col3)-(TableB.Col1*TableB.Col2)<(TableB.Col1*0.1‌​0) 
then TableA.Col4-30 
else TableA.Col4 
end
FROM TableA 
JOIN TableB ON TableA.pk=TableB.pk