我有一个奇怪的场景,我需要在表格中返回最右边的非零列,结构如下:
GL Q1 Q2 Q3 Q4
1 100 0 0 0
2 100 900 250 0
3 600 100 0 1000
Run Code Online (Sandbox Code Playgroud)
我期待输出为:
GL Amount
1 100
2 250
3 1000
Run Code Online (Sandbox Code Playgroud)
无论如何,作为一种基于集合的方法,无需诉诸CASE声明或类似的解决方案?性能在这里很重要.
Cha*_*ins 11
SELECT
GL,
COALESCE( NULLIF(Q4,0), NULLIF(Q3,0), NULLIF(Q2,0), NULLIF(Q1,0) ) as Amount
FROM
myTable
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1834 次 |
| 最近记录: |