我有一个Excel函数:=Max(0, -Min(A1-B1, C1-B1))
A1、B1、C1 是表中的值列:
日期、键、值
假设现在日期无关紧要,并且 A1、B1、C1 的 key 是 A、B、C
如何实现这个excel函数?我最初的做法是有两个连接(以获取同一行上不同列中的所有值),但这似乎有点矫枉过正,必须有更聪明的方法吗?
最佳答案
您可以将其减少为一个连接,因为您只需要 B
作为 A
部分:
select case
when min(Value - isnull(yt2.Value,0)) > 0 then 0
else -min(Value - isnull(yt2.Value,0))
end
from YourTable yt1
join YourTable yt2
on yt1.Key = 'A' and yt2.key = 'B'
or
yt1.Key = 'B' and yt2.key = 'C'
关于sql - 实现此 SQL 查询的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10914404/