如果“Field_name”小于“Date”,我有一个简单的代码 dieplay'Y'其他'N',我不确定为什么水晶忽略了条件而且似乎只显示了其他部分。即使应该有'Y',我也会得到'N'。有没有其他人遇到过这个问题,请帮助!!!
代码:
(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 :(得分: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表达式用于此类。
答案 1 :(得分:0)
您可能确实在Crystal Reports中嵌入了'原始'SQL:作为SQL表达式字段(返回标量值)或使用Command(返回记录集)。使用一个不允许使用另一个。在这种情况下,我会建议一个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
)