ORACLE数据库 sql报表 过滤条件中 case when 不起作用
#FROGNAME# 这个是组织名字,作为过滤条件
SELECT * FROM
(
SELECT M.FORGID,ORG.FNAME AS 组织名称
FROM T_ORG_ORGANIZATIONS MJOIN 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 MJOIN 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)
) ORGJOIN PAEZ_t_Cust_Entry109002 HR
ON HR.FPRDORGID=ORG.FORGID
请问,我应该怎么改?
推荐阅读