如题,代码和视图都能正常在数据库里面执行,添加日期和人员条件都能筛选出数据。
保存之后,通过系统查询,只要涉及到某个人的数据就显示为空,单独查询另外的人员能正常查询。
由于要查询一个月的数据,为空的人员会导致所有数据不显示,这种情况应该怎么办啊。
可以把 SQL 脱敏贴出来看下,光看描述无法确定问题所在
评论
有用 0 SELECT PI_INOUTNO
,PI_SELLERNAME,PI_WHNAME
,PI_DATE
,RECBALANCE.RB_CODE
,RECBALANCE.RB_DATE
,RECBALANCE.RB_CUSTNAME
, RECBALANCEDETAIL.RBD_NOWBALANCE
, RECBALANCE.RB_DATE-ARBILL.AB_DATE HKTS
, ARBILL.AB_ARAMOUNT
,0 CKDYJLR
,XSLR
,pi_ckdlr_local_user PICKDLR
,PI_BRAND_USER PRODUCTBRAND
, NVL(PRODUCTBRAND.PR_PROPERTY,0) PR_PROPERTY
, NVL(RECBALANCEDETAIL.RBD_NOWBALANCE,0)*NVL(PRODUCTBRAND.PR_PROPERTY,0) HKE
, EM_DEPART,EM_DEPARTMENTCODE
, ROUND(NVL(RBD_NOWBALANCE,0)*NVL(AB_RATE,0)*(CASE WHEN ROUND(BAR_DUEDATE,'DD')-ROUND(BAR_DATE,'DD')>0 THEN ROUND(BAR_DUEDATE,'DD')-ROUND(BAR_DATE,'DD') ELSE 0 END)/365*0.06,2) BAR_AMOUNT
, PRODINOUT.PI_RECORDMAN PI_RECORDMAN
FROM RECBALANCEDETAIL
LEFT JOIN RECBALANCE ON RBD_RBID=RB_ID
LEFT JOIN ARBILL ON AB_CODE=RBD_ORDERCODE
LEFT JOIN PRODINOUT ON AB_FROMCODE=PI_INOUTNO
LEFT JOIN (select PD_inoutno,SUM((NVL(PD_NETPRICE,0)-NVL(PD_PRICE,0))*(PD_OUTQTY-PD_INQTY)) XSLR from PRODIODETAIL group by PD_inoutno )
on pi_inoutno=PD_inoutno
--LEFT JOIN USER_PRODINOUT_SALE_VIEW ON PD_PIID=PI_ID
LEFT JOIN EMPLOYEE ON PI_SELLERCODE=EM_CODE
LEFT JOIN PRODUCTBRAND ON PI_BRAND_USER=PB_NAME
LEFT JOIN BILLAR ON RB_SOURCEID=BAR_ID WHERE AB_FROMCODE IS NOT NULL;
评论
有用 0这是应用里查询的SQL吗?你说只要涉及某人的数据就显示为空,那么这个人的ID号是多少,你得写出具体信息来,才好判断为何这个SQL查不出该人信息
评论
有用 0单查这个表RECBALANCEDETAIL,能不能找到这个人?
这个连接很奇怪
RECBALANCEDETAIL
LEFT JOIN RECBALANCE ON RBD_RBID=RB_ID
如果这个人只有RECBALANCE,而没有RECBALANCEDETAIL,那么这个sql肯定是查不出来的
另外,你人员的主信息如果是EMPLOYEE ,如果要查询到全部的人员,那么就应该以这个表作为主表,去左关联其他表,用其他记录表做主表,当然会有信息缺失
评论
有用 0
墨值悬赏


