ORACLE数据库 sql报表 过滤条件中 case when 不起作用
金蝶云社区-王艳_4
王艳_4
0人赞赏了该文章 1,516次浏览 未经作者许可,禁止转载编辑于2017年01月07日 12:19:22

ORACLE数据库 sql报表 过滤条件中 case when 不起作用

#FROGNAME# 这个是组织名字,作为过滤条件

SELECT * FROM
(
SELECT M.FORGID,ORG.FNAME AS 组织名称
FROM T_ORG_ORGANIZATIONS M
JOIN T_ORG_ORGANIZATIONS_L ORG
ON M.FORGID=ORG.FORGID AND ORG.FLOCALEID=2052
AND to_char(ORG.FNAME)=
( CASE when to_char('#FROGNAME#')=to_char('') then to_char(ORG.FNAME)
else to_char('#FROGNAME#') end)
) ORG

如果只有这部分,在SQL 报表中执行时有数据的
一旦我加上一个JOIN 关联 ,则不显示数据(前提在oracle 里面执行是 有数据的 如下图:)
SELECT * FROM
(
SELECT M.FORGID,ORG.FNAME AS 组织名称
FROM T_ORG_ORGANIZATIONS M
JOIN T_ORG_ORGANIZATIONS_L ORG
ON M.FORGID=ORG.FORGID AND ORG.FLOCALEID=2052
AND to_char(ORG.FNAME)=
( CASE when to_char('#FROGNAME#')=to_char('') then to_char(ORG.FNAME)
else to_char('#FROGNAME#') end)
) ORG
JOIN PAEZ_t_Cust_Entry109002 HR
ON HR.FPRDORGID=ORG.FORGID










请问,我应该怎么改?