怎么根据A表的子查询更新 B表? 返回

SqlSugar 老数据
2 1555

事务中的部分代码如下。 


需要根据 MaterialFreezes  表中的一列汇总  更新到 Material表

现在的做法是循环 如下。


有咩有简单的语法搞定(语句)?




                            var storgelist2 = db.Queryable<Entities.MaterialStorage>()

                                .Where(s => s.SONo == sono && s.SkuNo == skuno)

                                .Where(s => s.IsDel == 0)

                                .ToList();


                            foreach (var storge in storgelist2)

                            {

                                int freezeQty = (int)db.Queryable<Entities.MaterialFreezes>()

                                    .Where(s => s.MSId == storge.Id && s.FreezesFlag == 1)

                                    .Where(s => s.IsDel == 0)

                                    .Sum(s => s.Qty);

                                storge.FreezesQty = freezeQty;

                                db.Updateable(storge).ExecuteCommand();

                            }



热忱回答2

  • var t17 = db.Updateable<Student>().UpdateColumns(it => 
           new Student(){
            SchoolId = SqlFunc.Subqueryable<School>().Where(s => s.Id == it.SchoolId).Select(s => s.Id),
            Name = "newname"
           }).Where(it => it.Id == 1).ExecuteCommand();


    0 回复
  • @fate stay night: Tks

    0 回复