sql语句进行控件筛选

  这个不生效,想知道哪里出错了:

  SELECT

        a.lot,

        a.lvlot         

    FROM

        CT_EJLP_LVPI_TEST a                 

    WHERE

        INSTR(concat(lot,lvlot),'${sql("DM","select lot||lvlot from  CT_EJLP_LVPI_JUDGE ",1)}')=0 ${if(len(pv2)=0,"","and a.lot='"+pv2+"'")}

   控件筛选需要筛选出 CT_EJLP_LVPI_TEST的lot 跟lvlot 但是排除CT_EJLP_LVPI_JUDGE里有的。

比如未填写时,lot为123,对应lvlot就有A B;当我填入123 ,a到CT_EJLP_LVPI_JUDGE中后,再次填报筛选就只会出现123 b;

当我填入123 ,b到CT_EJLP_LVPI_JUDGE中,那么筛选lot中就没有123了。

lot跟lvlot都不是唯一的

image.png如图,一个lot可能有多个lvlot,一个lvlot可能也有多个lot。只有两个才唯一确认一条

FineReport 帆软用户o8Hv4jPkHk 发布于 2022-6-15 17:20 (编辑于 2022-6-15 18:04)
1min目标场景问卷 立即参与
回答问题
悬赏:5 F币 4人赏过 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
七夜Lv6初级互助
发布于2022-6-15 19:55

你的问题没有描述清楚,举例的A\B\123在截图里也没有,让人迷惑。

你想要的结果是不是 A中存在的但是B中不存在的记录?

  • 帆软用户o8Hv4jPkHk 帆软用户o8Hv4jPkHk(提问者) 不是啊,我举例 lot是123,对应的lvlot是A、B。截图是为了解释说明他俩都不是唯一的。想要的结果是在test表里且不在judge表的(就是没有提交到judge表里,我是从test表获取lot数据,提交到judge表里。但是控件要做个筛选)。 想要的效果就是“比如未填写时,lot为123,对应lvlot就有A B;当我填入123 ,a到CT_EJLP_LVPI_JUDGE中后,再次填报筛选就只会出现123 b;当我填入123 ,b到CT_EJLP_LVPI_JUDGE中,那么筛选lot中就没有123了。这个表达得没有很清楚吗?
    2022-06-15 20:01 
  • 七夜 七夜 回复 帆软用户o8Hv4jPkHk(提问者) SELECT a.lot, a.lvlot FROM CT_EJLP_LVPI_TEST a left join CT_EJLP_LVPI_JUDGE b on a.lot = b.lot and a.lvlot = b.lvlot WHERE b.lvlot is null 这个语句查出来的是 a 表中存在但是 b 表中不存在的 lot/lvlot 记录,你看看可以用不
    2022-06-15 20:19 
  • 帆软用户o8Hv4jPkHk 帆软用户o8Hv4jPkHk(提问者) 回复 七夜 好像是可以的!!!谢谢!谢谢!
    2022-06-15 20:43 
  • 2关注人数
  • 410浏览人数
  • 最后回答于:2022-6-15 19:55
    请选择关闭问题的原因
    确定 取消
    返回顶部