创建动态数据集语句执行报错,要求如下,请求大神们指教!

当下拉框参数p选择1、2、3任意一个值后,在BB列为空的记录中,只选取AA为p值的记录+BB列不为空的记录;
也就是当AA=p值时,数据集数据只提取当BB为空时AA为p的记录再加上BB为非空的所有记录。
为什么这数据集语句报错:select AA,BB,CC from T1 where ${if(BB='','AA=${p}','BB<>''')}
这个数据集的SQL语句要怎么写才能实现我的要求?求大神指教。
如果图当p=2时,只取出红线框内数据。


FineReportzxcjk2000 发布于 2017-3-11 20:28
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
macro_hard发布于2017-3-11 20:28(编辑于 2023-9-6 09:34)
555
最佳回答
0
macro_hard发布于2017-3-11 21:08(编辑于 2023-9-6 09:34)
555
最佳回答
0
zxcjk2000发布于2017-3-11 21:47(编辑于 2023-9-6 09:34)
555
最佳回答
0
zxcjk2000发布于2017-3-11 21:50(编辑于 2023-9-6 09:34)
555
  • macro_hard macro_hard
    1. where (AA=\'${p}\' and isnull(BB,\'\')=\'\' ) or isnull(BB,\'\')<>\'\'
    复制代码
    回复
    2017-03-11 20:28 
  • 0关注人数
  • 421浏览人数
  • 最后回答于:2017-3-11 21:50
    活动推荐 更多
    热门课程 更多
    返回顶部