$ X {IN,g.data_group,DataGroups}是什么意思?

时间:2014-08-08 12:24:48

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

我需要一些帮助。我想知道这一行的含义是什么

$X{IN, g.data_group, DataGroups}

SQL中$X的用途是什么?

2 个答案:

答案 0 :(得分: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')&# 34 ;.如果用户没有选择任何状态,他们将获得所有客户" SELECT * FROM CUSTOMER WHERE 1 = 1"。

答案 1 :(得分:0)

看起来它应该代表IN片段和NOT IN片段,如:

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

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

NOT IN SQL:给我所有userId不是1,2或3的用户

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

parmName应该是报告参数的名称,其类型为Collection或array

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

$ X {IN,colName,paramName}

$ X {NOTIN,colName,paramName}

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