当前位置: 代码迷 >> DB2 >> DB2 SQL 求大大帮忙解决 多谢
  详细解决方案

DB2 SQL 求大大帮忙解决 多谢

热度:8280   发布时间:2013-02-26 00:00:00.0
DB2 SQL 求大大帮忙解决 在线等 谢谢
直接上SQL
 
SELECT * FROM Business_duebill BD where not exists (select 1 from Classify_Record CR where CR.ObjectNo = DB.SerialNO)



其中 DB.SerialNO , CR.ObjectNo 均为索引

------解决方案--------------------------------------------------------
SELECT bd.* FROM Business_duebill BD 
left join Classify_Record CR on CR.ObjectNo = DB.SerialNO
where DB.SerialNO is null

检查一下执行 计划
------解决方案--------------------------------------------------------
SQL code
SELECT BD.*FROM Business_duebill BD       left join Classify_Record CR on CR.ObjectNo = DB.SerialNOwhere DB.SerialNO is null
------解决方案--------------------------------------------------------
检查一下执行 计划,看看索引是否用到

or

SELECT * FROM Business_duebill BD where SerialNO not in (select ObjectNo from Classify_Record )

------解决方案--------------------------------------------------------
应该这么写吧
SQL code
select BD.SerialNo      ,BD.CustomerID      ,BD.CustomerName      ,getBusinessName(BD.BusinessType) as BusinessTypeName      ,BD.BusinessSum      ,BD.Balance,BD.OperateUserID      ,BD.OperateOrgID      ,getUserName(BD.OperateUserID) as OperateUserName      ,getOrgName(BD.OperateOrgID) as OperateOrgNamefrom BUSINESS_DUEBILL BD     left join (         select ObjectNo         from CLASSIFY_RECORD CR         where finishdate is not null           and CR.ObjectType='BusinessDueBill'           and AccountMonth='2011/03'     ) CR on CR.ObjectNo = BD.SerialNOwhere BD.BusinessType like '1%'  and BD.BusinessType not like '1020%'  and BD.PutOutDate < '2011/03/32'  and BD.balance >0  and CR.ObjectNo is null  and BD.OPERATEORGID in (        select BelongOrgID from ORG_BELONG where OrgID = '1000'      )
  相关解决方案