在Expression evaluator中处理相关csv文件

在Expression evaluator中处理相关csv文件,csv,logic,expression,limit,Csv,Logic,Expression,Limit,我们正在尝试使用编码能力有限的表达式计算器对多个文件执行数据库操作。代码如下所示: For each Shift record in shifts table If shift.qualification matches 'qualification of user' in qualifications table THEN If shift.ward matches 'ward of user' in preferredWards table THEN

我们正在尝试使用编码能力有限的表达式计算器对多个文件执行数据库操作。代码如下所示:

For each Shift record in shifts table
    If shift.qualification matches 'qualification of user' in qualifications table THEN
       If shift.ward matches 'ward of user' in preferredWards table THEN
           If shift.StartTime does not match 'Booked shifts of user' in transaction table THEN
                Print Shift.Id, Shift.Date, Shift.StartTime
           End IF
       End IF
    End IF
Next
上述代码的工作范围是从移位表中提取所有记录。有两个问题我们无法解决,需要帮助:

  • 我们不能限制打印的数量或记录(框架不允许中断语句或循环计数变量)
  • 我们无法确定代码是否未打印任何内容,因为所有轮班记录都不符合标准
  • 请注意,这是一个依赖于框架的问题,因此无法克服上述限制。创建数组、变量或中断for循环等基本操作是不可能的

    这是一个逻辑问题,比任何其他问题都重要,我希望有人能帮助我们想出一个逻辑,使我们能够做到以下几点:

    For each Shift record in shifts table
        If shift.qualification matches 'qualification of user' in qualifications table THEN
           If shift.ward matches 'ward of user' in preferredWards table THEN
               If shift.StartTime does not match 'Booked shifts of user' in transaction table THEN
                    Print Shift.Id, Shift.Date, Shift.StartTime
               End IF
           End IF
        End IF
    Next
    
  • 获取所有符合条件的轮班记录
  • 将记录限制为10条
  • 以某种方式指示是否未找到具有这些条件的记录

  • 非常感谢我能得到的任何帮助

    我不知道为什么您使用的“框架”甚至不允许您创建变量,但在这种情况下,我会获取输出文件并通过另一种语言编写的另一个程序处理结果。不幸的是,使用另一个程序不是一个选项。。。我想知道我是否可以启动一个与其他表之一的外部for循环,并在最后完成移位,但该逻辑不是标准的,我无法破解它。。。因此,我希望有人能帮助确定约束的另一种方式(我们都有约束:()我可以在for循环中添加一个'Max=10',但这只会循环10次,而不是打印10条记录…所以这并不能解决问题。在这种情况下,我想不出解决方法。