linq to sql 查找所有开票金额大于回款金额的项目
查找所有开票金额大于回款金额的项目
TB_Projects 项目表
TB_Recipts 发票表
TB_Finances 回款表
TB_Projects 一对多 TB_Recipts
TB_Projects 一对多 TB_Finances
select TB_Projects.ProjectCode, (CASE WHEN SUM(TB_Receipt.ReceiptMoney) IS NULL THEN 0 ELSE SUM(TB_Receipt.ReceiptMoney) END)as kp,
(CASE WHEN SUM(TB_ProjectFinance.RealityMoney) IS NULL THEN 0 ELSE SUM(TB_ProjectFinance.RealityMoney)END) as hk from TB_Projects left join TB_Receipt
on TB_Projects.Id=TB_Receipt.Project_Id left join TB_ProjectFinance on TB_Projects.Id=TB_ProjectFinance.Project_Id where TB_Projects.ProjcetManager=N'李优' group by TB_Projects.ProjectCode

var query = (from p in Projects
join q in Recipts on p.Id equals q.Project.Id into l
from lp in l.DefaultIfEmpty()//左链接 两个表 生成新表 Projects---Recipts
join t in Finances on p.Id equals t.Project.Id into z
from zp in z.DefaultIfEmpty() //左链接 两个表 Projects---Finance
where p.ProjcetManager.Contains(person) //项目经理是当前登录人
select new
{
ProjectName = p.ProjectName,
ProjectCode = p.ProjectCode,
KaiPiao = lp.ReceiptMoney == null ? : lp.ReceiptMoney,
HuiKuan = zp.RealityMoney == null ? : zp.RealityMoney
}
into g
group g by new { g.ProjectCode,g.ProjectName } into k //根据 编号和姓名 分组
select new
{
ProjectCode = k.Key.ProjectCode,
ProjectName=k.Key.ProjectName,
KaiPiao = k.Sum(t => t.KaiPiao) == null ? : k.Sum(t => t.KaiPiao),
HuiKuan = k.Sum(t => t.HuiKuan) == null ? : k.Sum(t => t.HuiKuan),
} into d
where d.KaiPiao > d.HuiKuan
select new
{
ProjectName=d.ProjectName,
KaiPiao = d.KaiPiao,
HuiKuan = d.HuiKuan,
ProjectCode = d.ProjectCode
}
).ToList(); return (from q in query
select new TB_ProjectsInputDto
{
ProjectName = q.ProjectName,
ProjectCode = q.ProjectCode,
ReceiptMoney = q.KaiPiao,
ReceivedPayment = q.HuiKuan
}).ToList();
linq to sql 查找所有开票金额大于回款金额的项目的更多相关文章
- 年终巨献 史上最全 ——LINQ to SQL语句
LINQ to SQL语句(1)之Where 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操 ...
- LINQ TO SQL 大全
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 LINQ to SQL语句(1)之Where 适用场景: ...
- LINQ to SQL大全
LINQ to SQL语句 (1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的 ...
- [转]LINQ To SQL 语法及实例大全
转载自:http://blog.csdn.net/pan_junbiao/article/details/7015633 LINQ to SQL语句(1)之Where Where操作 适用场景:实现过 ...
- LINQ to SQL语句非常详细(原文来自于网络)
LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子 ...
- LINQ To SQL 语法及实例大全
http://blog.csdn.net/pan_junbiao/article/details/7015633 http://blog.csdn.net/pan_junbiao/article/de ...
- 转载linq to sql 的详解
[转]LINQ To SQL 语法及实例大全 2011-11-26阅读38651 评论9 LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL ...
- Linq to sql语法
LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子 ...
- Linq to Sql语法及实例大全
LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的 ,而判断条件就是它后面所接的 ...
随机推荐
- Spring集成Redis使用注解
转载:http://blog.csdn.net/u013725455/article/details/52129283 使用Maven项目,添加jar文件依赖: <project xmlns=& ...
- Spring框架的事务管理之声明式事务管理的类型
1. 声明式事务管理又分成两种方式 * 基于AspectJ的XML方式(重点掌握)(具体内容见“https://www.cnblogs.com/wyhluckdog/p/10137712.html”) ...
- 【原创】Silverlight之TextBox的LostFocus、GotFocus事件
<TextBox x:Name="txtCount" Width="200" Height="35" GotFocus="t ...
- [PHP] 转义字符 Escape character
\n is a symbol for new line \t is a symbol for tab and \r is for 'return'
- 老板说你的UI设计的不高级?你肯定没用这7个技巧...
对于每个网页设计师而言,在设计过程中总会碰到需要作出设计决策的时候.也许你的公司并没有全职设计师,而需求上则要求设计出全新的UI:又或者你正在制作一个你自己的个人项目,而你希望它比 Bootstrap ...
- wcf服务契约代理链
意图:为了是客户端代理呈现出面向对象的多态的特征 a. 服务端 .契约 实现了契约的继承这个在服务端是一点问题没有,因为oprationcontract可以继承,虽然DataContract不能实现继 ...
- sublime3中运行python 和设置
点bulid system建立下面文件 {"cmd":["C:/ProgramData/Anaconda3/python.exe", "-u" ...
- pyspider示例代码七:自动登陆并获得PDF文件下载地址
自动登陆并获得PDF文件下载地址 #!/usr/bin/env python # -*- encoding: utf- -*- # Created on -- :: # Project: pdf_sp ...
- flask_模板
由于python中生成html比较繁琐,所以flask自动为你配置好jinjia2模板.下面我们开始学习模板应用吧~ 1.编写microblog模块 注:(1)这里为了渲染模板,我们从Flask导入了 ...
- Tensorflow currently has no official prebuild for your CUDA, cuDNN combination.
INFO CUDA version: 10. ERROR cuDNN not found. See https://github.com/deepfakes/faceswap/blob/master/ ...