C#后台sql语句注释,根据isnull()方法进行条件选择

select isnull(b.guid,k.guid) as project_id,isnull(b.projectno,k.projectno) as projectno,
isnull(b.projectname,k.projectname) as projectname,c.COMPANYNAME as customer,
isnull(b.project_date,k.project_date) as project_date,d.typecn,a.guid as apply_id,a.applyname,e.applyCreditAmt,
sum(isnull(f.payamount,0)) payamount,f.paydate,g.name as pay_user,h.name as saler,j.typecn as approval_status,
isnull(b.CREATE_TIME,k.CREATE_TIME) as bcreate_time,a.create_time as acreate_time,
(case when b.guid is null then ‘zl‘ else ‘bl‘ end) as projectType into #tbl
from dbo.ffs_projectapply a
left join ffs_project b on a.PROJECTID=b.guid
left join FFS_ProjectLease k on a.projectid=k.guid
left join ffs_customer c on c.guid=isnull(b.customerid,k.customerid)
left join ffs_publicelement d on d.code=isnull(b.project_type,k.project_type) and d.type=‘project_type‘
left join FFS_PAYMENT e on e.projectapplyid=a.guid
left join FFS_PAYMENTDETAIL f on f.projectapplyid=a.guid
left join IFS_USER g on g.guid=f.payopuser
left join IFS_USER h on h.guid=a.saler_id
left join FFS_CustomerRefsaler i on i.customer_id=isnull(b.customerid,k.customerid) and i.recordstatus=‘A‘
left join ffs_publicelement j on j.code=a.recordstatus and j.type=‘ProjectApply_Status‘
where isnull(b.project_date,k.project_date) between ‘2017-01-25‘ and ‘2017-04-26‘ --and b.project_type in(‘001‘,‘002‘,‘003‘,‘004‘,‘005‘)
and a.recordstatus=‘Payed‘ and isnull(b.recordstatus,k.recordstatus)=‘Approved‘

蓝色标记 处中,利用是isnull()方法巧妙的进行选择on的条件;

红色标记处中,该段sql语句是写在C#后台中,利用"--"来进行注释

时间: 2024-08-29 15:24:16

C#后台sql语句注释,根据isnull()方法进行条件选择的相关文章

SQL语句中生成UUID方法

SQL语句中生成UUID方法为UUID() 生成带横线UUID: select UUID()                         形如:abaffaca-fd55-11e5-b3d0-d2c510923c15 生成32位不带横线UUID: select replace(UUID?(),'-','')      形如:804a9aa2fd5311e5b3d0d2c510923c15? 原文地址:https://www.cnblogs.com/tianmh/p/9088709.html

log4j.properties日志级别debug打印后台sql语句

通常,日志的打印级别对开发的辅助性非常重要,合适的日志级别能够快速定位开发问题. 很多时候,开发时我们需要检查后台sql语句,可通过配置log4j配置文件来完成. 当INFO级别时,与数据库交互时是不会打印sql语句的,配置如下: 为了更清晰的看到sql的输出,我们现在把日志级别改为DEBUG,如下: 这样在与数据库交互时,控制台就会将sql打印出来,便于定位问题:同时也可以很明显的看出INFO与DEBUG的日志输出区别,DEBUG输出的日志较多,且在项目启动的时候也较慢. 原文地址:https

“取出数据表中第10条到第20条记录”的sql语句+select top 使用方法

1.首先.select top使用方法: 參考问题  select top n * from和select * from的差别 select * from table --  取全部数据.返回无序集合 select top n * from table  -- 依据表内数据存储顺序取前n条,返回无序集合 select * from table order by id desc -- 取全部数据.按id逆序返回有序列表 select top n * from table order by id d

项目中调试SQLServer 方便的查看SQL语句的执行时间的方法

第一种方法,先记录执行前的时间,然后在记录执行Sql后的时间,然后做减法 1 第一种方法: 2 declare @begin_date datetime 3 declare @end_date datetime 4 select @begin_date = getdate() 5 SELECT COUNT(1) 6 --要执行的SQL语句 7 FROM [dbo].[DT_CVPrice] 8 WHERE DCVP_CharacterGUID = '3434343' 9 ---------- 1

PDO中执行SQL语句的三种方法

在PDO中,我们可以使用三种方式来执行SQL语句,分别是 exec()方法,query方法,以及预处理语句prepare()和execute()方法~大理石构件来图加工 在上一篇文章<使用PDO构造函数连接数据库及DSN详解>中,我们介绍了如何使用构造函数连接数据库和DSN的详解,那么我们这篇文章跟大家介绍在PDO中执行SQL语句的三种方式,下面我们将一一介绍! 第一种方法:exec()方法 exec()方法返回执行SQL 语句后受影响的行数,其语法格式如下: 1 int PDO::exec(

关于拼接SQL语句sqlMap的使用方法

1.为什么使用? 主要还是为了代码中获取到值,然后带入SQL语句中拼接查询 2.怎么使用? 1)bean继承了BaseEntity类,该类中有 /** * 自定义SQL(SQL标识,SQL内容) */ protected Map<String, String> sqlMap; @JsonIgnore @XmlTransient public Map<String, String> getSqlMap() { if (sqlMap == null){ sqlMap = Maps.ne

mysql sql语句最大长度设置方法

今天发现了一个错误:Could not execute JDBC batch update 最后发现原因是SQL语句长度大于1M,而我机器上的mysql是默认设置,也就是说mysql通讯的数据包大小设置是1M,这就造成sql语句执行失败.于是把mysql的配置文件(my.ini)中的max_allowed_packet = 6M变大,问题就解决了 原文地址:https://www.cnblogs.com/qiumingcheng/p/10153701.html

简述项目中优化sql语句执行效率的方法,从哪些方面,sql语句性能如何分析?

(1)尽量选择较小的列: (2)将where中用的比较频繁的字段建立索引: (3)select中避免使用*: (4)避免在索引列上使用计算.not in和<>等操作: (5)当只需要一行数据时候使用limit1: (6)保证单表数据不超过200w,实时分割表: 针对查询较慢的语句,可以使用explain来分析该语句具体的执行情况.

golang 使用sql语句操作数据库的方法

func (m  xxxstruct) insertxxx() (bool,string){ sqlquery :="insert into tables_name(id,name,email,content,) values(%v,%v,%v,%v)" sqlquery =fmt.Sprintf(sqlquery,m.id,m.name,m.email,m.content) ok,desc :=queryexecmysql(sqlquery) if ok { return false