【问题标题】:What is the meaning of $X{IN, g.data_group, DataGroups}?$X{IN, g.data_group, DataGroups} 是什么意思?
【发布时间】:2014-08-08 12:24:48
【问题描述】:

我需要一些帮助。我想知道这一行是什么意思

$X{IN, g.data_group, DataGroups}

$X在SQL中有什么用?

【问题讨论】:

    标签: sql sql-server-2008 jasper-reports


    【解决方案1】:

    $X 不是 SQL 功能。这是一个 jasper 报告功能,您可以在用户提供可选参数时动态替换 SQL IN 语句。当用户不提供参数时,jasper 报告会替换为“1 = 1”(什么都不做)。

    例如,如果您有一个包含按州查找客户的查询的报表,则您可能在 jasper 报表中有一个查询,例如“SELECT * FROM CUSTOMER WHERE $X{IN, state, $P{stateParam}} " 它有一个可选参数,称为 stateParam。当用户提供参数(假设他们选择两个州)时,jasper 将进行查询“SELECT * FROM CUSTOMER WHERE STATE IN ('ALABAMA', 'ALASKA')”。如果用户不选择任何状态,他们将获得所有客户“SELECT * FROM CUSTOMER WHERE 1 = 1”。

    【讨论】:

      【解决方案2】:

      看起来它应该在 IN sn-ps 和 NOT IN sn-ps 中表示:

      IN SQL:给我所有usersId为1,2或3的用户;

      select * from users where usersId in ('1','2','3');
      

      不在 SQL 中:给我所有 usersId 不是 1、2 或 3 的用户

      select * from users where usersId not in('1','2','3')
      

      parmName 应该是集合或数组类型的报告参数的名称

      colName 是我相信的 ('1','2','3') 的列表

      $X{IN, colName, paramName}

      $X{NOTIN, colName, paramName}

      此处示例:passing SQL "IN" parameter list in jasperreport

      【讨论】:

        猜你喜欢
        • 2018-05-07
        • 1970-01-01
        • 2015-03-24
        • 2020-03-18
        • 2021-08-02
        • 2020-10-02
        • 2011-05-27
        • 2018-05-03
        • 1970-01-01
        相关资源
        最近更新 更多