繁体   English   中英

SQL 基于第三列的单行中的两列

[英]SQL Two columns from a single row based on Third Column

我有一个数据集(称为 TableA),它记录了一年的所有数据,按月列

在此处输入图像描述

我想要做的是能够使用单个查询来获取第一个月的开始和结束余额单行,但这需要从前一年提取余额 12。 与此类似:

在此处输入图像描述

我需要能够在 PowerBI 中将其作为直接查询来执行,因此在 PowerQuery 中合并单独的查询将不起作用。

关于如何实现这一点有什么建议吗?

提前致谢!

您可以使用lag()

select item, fiscyr, lag(balance12) over (partition by item order by fiscyr) as beginning,
       balanc1 as ending
from t;
SELECT CurrentYear.Item, CurrentYear.FiscYr, PreviousYear.Balance12, CurrentYear.Balance1 
FROM TableA CurrentYear
LEFT OUTER JOIN TableA PreviousYear ON CurrentYear.Item = PreviousYear.Item AND PreviousYear.FiscYr = CurrentYear.FiscYr - 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM