小编Arc*_*ird的帖子

SQL Server - 递归计算列

我需要计算基于种子行的列,其中每行的值使用“前一”行的值。我觉得这应该是一个递归查询,但我不能完全理解它。

为了显示:

BOP     EOP     IN     OUT     Wk_Num
--------------------------------------
6       4       10     12      1
?       ?       2      6       2
?       ?       7      5       3
...     ...     ...    ...     ...
Run Code Online (Sandbox Code Playgroud)

因此下一行的 BOP 和 EOP 列需要使用种子行进行计算。IN 和 OUT 值已存在于表中。

BOP =(上一行的 EOP)

EOP =(上一行的 EOP)+ IN - OUT [其中 IN 和 OUT 来自当前行)

此示例的输出应如下所示:

BOP     EOP     IN     OUT     Wk_num
-------------------------------------
6       4       10     12      1
4       0       2      6       2
0       2       7      5       3
2       6       4      0       4
...     ...     ... …
Run Code Online (Sandbox Code Playgroud)

sql-server

5
推荐指数
1
解决办法
2738
查看次数

ADO Connection.Execute 不断返回关闭的记录集

我试图使用 ADO 对象将传递到 SQL Server 的 sql 命令的结果返回到 Excel 中,但我的 Recordset 总是返回关闭/空的。我的猜测是我的 sql 语句不会返回任何内容 - 尽管我认为它应该返回一条记录。

我正在运行的 SQL 是一个 530 行的野兽,但它归结为一条MERGE语句,该语句应该将结果转储到表 var 中,然后从中进行选择。我想要将此 select 语句返回到 ADO 记录集中。

这是我正在使用的通用 SQL 语句:

     MERGE ldw_plan_working AS target 
 USING source 
 ON target.DT_Code = source.DT_Code 
    AND target.Country = source.Country 
    AND target.Channel = source.Channel 
    AND target.HierarchyID = source.HierarchyID 
    AND target.lifecycle = source.lifecycle 
     WHEN MATCHED 
     THEN UPDATE SET 
                     [Sales_TOT_Local] = source.[Sales_TOT_Local], 
                     [Sales_TOT_USD] = source.[Sales_TOT_USD], 
                     [Sales_TOT_CAD] = source.[Sales_TOT_CAD], 
                     [Sales_CLR_Local] = source.[Sales_CLR_Local], 
                     [Sales_CLR_USD] = source.[Sales_CLR_USD], 
                     [Sales_CLR_CAD] = …
Run Code Online (Sandbox Code Playgroud)

sql sql-server excel vba

2
推荐指数
1
解决办法
2445
查看次数

如何使用自定义多态类型的集合获得多态行为?

我有一个超类,Super有一个子类SubA

public class Super{}

public class SubA : Super{}
Run Code Online (Sandbox Code Playgroud)

我想要一个接口来定义对Super.

public interface IDoer
{
    List<Super> GetObjects();
    void SaveObjects(List<Super> items);
}
Run Code Online (Sandbox Code Playgroud)

所以基本上,我希望能够多态地传递 的集合Supers,但List<SubA>不是List<Super>. 所以我的 subADoer 没有实现 IDoer。

public class SubADoer : IDoer
{
    public List<SubA> GetObjects{ return new SubA()}
    public void SaveObjects(List<SubA> items){//save}
}
Run Code Online (Sandbox Code Playgroud)

我如何抽象对象的列表(或其他一些集合类型)来反映构成它们的类型之间的关系?

c# collections polymorphism abstraction

2
推荐指数
1
解决办法
58
查看次数

标签 统计

sql-server ×2

abstraction ×1

c# ×1

collections ×1

excel ×1

polymorphism ×1

sql ×1

vba ×1