数据库
首页 > 数据库> > mysql 根据条件拼接不同sql

mysql 根据条件拼接不同sql

作者:互联网

在项目开发中,我们常常会用到根据不同条件,执行不同的sql,在mysql中可以用  IF(expr1,expr2,expr3) 来满足这个需求。下面我给大家一个示例:

示例1:sql比较复杂

SELECT

if(dom.PLAN_NO is null,

(ifnull( ( SELECT sum( DELIVERY_QTY ) FROM delivery_order_materiel WHERE 1=1 and PO_NO=pom.PO_NO and MATERIEL_CODE = pom.MATERIEL_CODE ), 0 )),

ifnull( ( SELECT sum( DELIVERY_QTY ) FROM delivery_order_materiel WHERE POM_PM_CODE = pom.PM_CODE AND PLAN_NO = dpm.PLAN_NO ), 0 )

)AS  tempFiled

from tableName

where 1=1

示例2:

SELECT

if(dom.PLAN_NO=1,

( SELECT sum( DELIVERY_QTY ) FROM delivery_order_materiel WHERE 1=1 and PO_NO=pom.PO_NO and MATERIEL_CODE = pom.MATERIEL_CODE ),

( SELECT sum( DELIVERY_QTY ) FROM delivery_order WHERE 1=1 AND PLAN_NO = dpm.PLAN_NO )

)AS tempFiled

from tableName

where 1=1

 

标签:CODE,NO,pom,mysql,拼接,PLAN,sql,MATERIEL,SELECT
来源: https://www.cnblogs.com/lianyiice/p/16381349.html