小编Dan*_*Dan的帖子

检查Integer是否在一系列列值之间

请考虑以下表模式:

----------------------------------
|  ID  |  MinValue  |  MaxValue  |
----------------------------------
|  1   |      0     |    10      |
|  2   |     11     |    20      |
|  3   |     21     |    30      |
Run Code Online (Sandbox Code Playgroud)

我希望能够传递一个整数,并让它返回适当的ID,其中该值与Min和Max Value之间的范围匹配.

例如:

Input = 17
Output = 2

Input = 4
Output = 1

Input = 26
Output = 3
Run Code Online (Sandbox Code Playgroud)

我以为我可以这样做:

SELECT ID FROM MyTable WHERE MinValue >= @input AND MaxValue <= @input
Run Code Online (Sandbox Code Playgroud)

但它不起作用,没有任何返回.

我确信这个解决方案很简单,但我很难过.

在SQL Server中实现此目的的最佳方法是什么?

sql sql-server sql-server-2008

10
推荐指数
2
解决办法
3万
查看次数

LINQ GroupBy返回List作为结果

我有一个包含Transaction对象的List.我想要做的是找到具有相同transaction.Buyer.UserID的所述List中的事务,并将它们组合成列表列表.

每个Sub-List项将包含多个事务对象,其中transaction.Buyer.UserID是相同的.

到目前为止我所拥有的是:

            var _ordersToCombine = 
            _transactions.GroupBy(transaction => transaction.Buyer.UserID).Select(transaction => transaction);
Run Code Online (Sandbox Code Playgroud)

我进来的是:

List<Transaction>:
    Transaction { Buyer.UserID = "User1" ...}
    Transaction { Buyer.UserID = "User2" ...}
    Transaction { Buyer.UserID = "User1" ...}
    Transaction { Buyer.UserID = "User3" ...}
    Transaction { Buyer.UserID = "User4" ...}
    Transaction { Buyer.UserID = "User3" ...}
Run Code Online (Sandbox Code Playgroud)

我期望它返回的是:

List<List<Transaction>>:
    List<Transaction>:
        Transaction { Buyer.UserID = "User1" ...}
        Transaction { Buyer.UserID = "User1" ...}
    List<Transaction>:
        Transaction { Buyer.UserID = "User3" ...}
        Transaction { Buyer.UserID = "User3" ...}
Run Code Online (Sandbox Code Playgroud)

...并且还从主列表中删除这些事务,因此在此示例中,主列表将如下所示:

List<Transaction>:
    Transaction …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

标签 统计

c# ×1

linq ×1

sql ×1

sql-server ×1

sql-server-2008 ×1