1

かなり基本的なはずのSSRSに問題があります。IIFステートメントなどに関するいくつかの回答を見てきましたが、これには完全には対応していません.

私はSSRSが初めてなので、PLSQLを使用してデータセクションで使用できるコード/構文がわかりません。

私がやりたいのは、パラメーターが null かどうかに基づいた if ステートメントだけです。あらゆる種類の構文を試しましたが、エラーが発生し続けます。助言がありますか?

何かのようなもの:

IF (:start_date IS NULL) THEN

SELECT wo.wonum, wo.worktype, wo.description wo_description, wo.targcompdate, wo.assetnum,         
s.siteid, s.description s_description, 
round((wo.targcompdate - sysdate), 0) DaysTillDue
FROM workorder wo
INNER JOIN site s on wo.siteid = s.siteid
WHERE 
(wo.targcompdate - sysdate) >= :Low_Day
and (wo.targcompdate - sysdate) <= :High_Day
and wo.siteid = :site_param
and wo.worktype = :worktype_param; 

ELSE

SELECT wo.wonum, wo.worktype, wo.description wo_description, wo.targcompdate,   wo.assetnum,         
s.siteid, s.description s_description, 
round((wo.targcompdate - sysdate), 0) DaysTillDue
FROM workorder wo
INNER JOIN site s on wo.siteid = s.siteid
WHERE 
(wo.targcompdate - sysdate) >= :Low_Day
and (wo.targcompdate - sysdate) <= :High_Day
and wo.siteid = :site_param
and wo.worktype = :worktype_param
and targcompdate between :start_date and :end_date; 

END; 
4

1 に答える 1