【发布时间】:2020-11-06 08:13:24
【问题描述】:
我有 2 张桌子,
产品表
id produk batch qty
1 AAA ADADAD 2
2 BBB ADADAD 2
3 BBB AAAAAA 2
...............
然后移动桌子,
id produk batch qty
1 BBB ADADAD 1
我想在 stok 表中的 qty 减去 move 表中的 qty 之后显示表,我想要什么表
PRODUK BATCH QTY
AAA ADADAD 2
BBB ADADAD 1
BBB AAAAAA 2
这是我的查询
var obj = _db.produk
.Groupby(a=> new {a.code,a.batch})
.Select(a=> new {
produk = a.key.code,
batch = a.Key.batch,
qty = _db.move.Where(c => a.Any(p => p.code == a.code && p.batch == a.batch)).Sum(a=>a.qty)
}).tolist();
但不工作
【问题讨论】:
-
在配置文件表和移动表之间进行联合,除了移动表应该有一个否定的数量。然后你对联合的结果进行分组。
-
另一种解决方案是对 produk 进行 groupby 查询,对 move 进行 groupby 查询,然后在前两个查询之间进行连接查询,以处理外部连接情况。第一个解决方案更简单。
标签: c# asp.net-mvc linq asp.net-core