2012-03-13 6 views
0

"Field_name"が "Date"より小さい場合は単純なコードです diesplay 'Y' else 'N'、なぜクリスタルが無視されているのかわかりません条件だけ他の部分を表示しているようだ、私はすべてのYの誰がこの問題に遭遇してい「Nさんがあるようになっても、」取得しています、助けてください!!!Crystal Report XIシンプルであればelse文は動作しません

コード:。。

(case when ((select Distinct y.szrclin_pidm 
      from szrclin y 
      where szrclin_start_date < '01-JAN-2011' 
      and y.szrclin_pidm = spriden_pidm) is not null) 
      then 'Y' 
      else 'N' 
     end) "Prior Rotations" 
+0

質問を書き直すことをお勧めします。それはこれがSQLの質問であるように見えますが、水晶レポートの質問ではありません。あなたのコードの周りにいくつかのフォーマットを使用する –

答えて

0

あなたが持っているコードは、Crystal Reportsのコンテキストではあまり意味がありません。代わりに単純な式を使用することをお勧めします。

if {szrclin.szrclin_start_date} < date(2011,01,01) and {szrclin.szrclin_pidm} = szrclin.spriden.pidm} then 'Y' else 'N'

szrclinテーブルがレポート内にある場合、私はこのような何かのためのSQL式を使用する理由は表示されません。

0

Crystal ReportsにSQL式フィールド(スカラー値を返します)またはコマンド(レコードセットを返します)のいずれかとして、実際のSQLを実際に埋め込むことができます。一方を使用すると他方を使用することができなくなります。この状況では、私はSQL式を提案します。あなたがしようとしていることを推測しましたが、検証する必要があります。

(
SELECT count(spriden_pidm) 
FROM szrclin y 
WHERE szrclin_start_date < '01-JAN-2011' 
//correlate to 'main' query 
AND y.szrclin_pidm = spriden_pidm 
GROUP BY spriden_pidm 
) 
関連する問題