我使用xml来显示查询结果.我有一个与我的查询相关的问题.在客户表中说我有一个数据,其id不是任何其他表中的forigne键,但我仍然想显示数据.我,使用左连接.但问题在于其他表条件(Where子句pr.fActive = 1 …),因此我无法显示仅存在于customer表中但不存在于其他表中的数据.如何做到这一点
left join customerprogramxref cuprxref on cu.ixcustomer=cuprxref.ixcustomer
left join tblprogram pr on cuprxref.ixprogram=pr.ixprogram
left join programworkpackagexref prwpxref on pr.ixprogram= prwpxref.ixprogram
left join workpackage wp on wp.ixworkpackage =prwpxref.ixworkpackage
left join workpackageactivityxref wpactxref on wpactxref.ixworkpackage=wp.ixworkpackage
left join activity act on act.ixactivity=wpactxref.ixactivity
cu.fStatus=1 AND pr.fActive=1 AND pr.fDeleted=0 AND wp.fStatus=1 AND act.fStatus=1
解决方法:
由于LEFT JOIN,在右边部分,未加入时为NULL.
试试这个:
cu.fStatus=1
AND (pr.fActive=1 OR pr.fActive IS NULL)
AND (pr.fDeleted=0 OR pr.fDeleted IS NULL)
AND ...
标签:mysql,xml
来源: https://codeday.me/bug/20190723/1510471.html