ef linq 多表查询条件问题 5C

图片说明
图片说明
图片说明
图片说明
A 表是要查询的表 B表和C表是父子关系
我需要查询 A 表的所有字段数据
条件是 A表和D表联合查询 条件是 D表TypeNo等于传进来的TypeNo And A 表的 Count != (C表 Status = 0 的B子表集合(B子表RequisitionDetailId=A表ID)B表 Count字段统计和 加上 C表 Status = 1 的B子表集合(B子表RequisitionDetailId=A表ID)B表 Count字段统计和)
查询语句怎么写
A表是申购单明细 B表是采购单明细 C表是采购单
B表和A表有字段关联
简单的说就是 查询出没有采购完的申购单 我是通过判断采购单待审核的采购单明细Count字段总和加上采购单已审核的采购单明细Count字段总和 对应申购单A表的Count字段是否相等 列出未采购完的申购单

3个回答

var tempRes = form b in B,c in C where b.PurchaseId = c.id and (c.Status==0 or c.Status == 1)
select b.count,b.RequisitionDetailId;

from a in A where a.Count !=(from t in tempRes where t. RequisitionDetailId = a.id select count).Sum()
select a;

u012458670
比才 简单的说就是 查询出没有采购完的申购单
大约 3 年之前 回复
u012458670
比才 注意都是统计每个表的Count字段 需要Sum(t=>t.Count)
大约 3 年之前 回复
u012458670
比才 感谢你的回答 我的业务是这样的 我需要查询 申购表A的所有字段 条件是申购表A的Count字段 不等于 (采购表C状态等于待审核的采购明细表B的Count总和 加上 采购表C状态等于已审核的采购明细表B的Count总和)
大约 3 年之前 回复
u012458670
比才 a.Count != (C表状态等于0的子表Sum(Count) +C表状态等于1的子表Sum(Count))
大约 3 年之前 回复

var t = from a1 in A
join a2 in (
from a in A
join b in B on a.ID equals b.RequisitionDetailId
join c in C on b.PurchaseID equals c.ID
where c.Status == 0 || c.Status == 1
group a by a.ID into temp
select new { aID = temp.Key, bcount = temp.Count() })
on a1.ID equals a2.aID where a1.Count != a2.bcount select a1;

u012458670
比才 简单的说就是 查询出没有采购完的申购单
大约 3 年之前 回复
u012458670
比才 注意都是统计每个表的Count字段 需要Sum(t=>t.Count)
大约 3 年之前 回复
u012458670
比才 感谢你的回答 我的业务是这样的 我需要查询 申购表A的所有字段 条件是申购表A的Count字段 不等于 (采购表C状态等于待审核的采购明细表B的Count总和 加上 采购表C状态等于已审核的采购明细表B的Count总和)
大约 3 年之前 回复
u012458670
比才 我需要的是a1 Count 不等于 (a2 状态等于0的Sum(t=>Count) + 状态等于1的Sum(t=>Count))
大约 3 年之前 回复

var tempRes = form b in B,c in C where b.PurchaseId = c.id and (c.Status==0 or c.Status == 1)
select b.count,b.RequisitionDetailId;

from a in A where a.Count !=(from t in tempRes where t. RequisitionDetailId = a.id select count(t.RequisitionDetailId))
select a;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐