stimulsoft 上的两个不同查询是否填充变量

Two different queries on stimulsoft if variables are filled or not

我正在使用 Stimulsoft Design 制作报告,我正在使用两个变量进行过滤。

所以我想让数据源构建一个 SQL 语句,如果过滤器一个已填充,另一个为空,另一个 SQL 如果过滤器二已填充,另一个为空,并且也许是 else 声明...

所以它会是这样的:

如果过滤器一已满而过滤器二为空,则使SELECT1,即:

SELECT * FROM tableExample WHERE column1 LIKE '%{filter1}%'

如果过滤器二被填充而过滤器一为空,则使SELECT 2,即:

SELECT * FROM tableExample WHERE id = '%{filter2}%'

ID 是主键。

嗯,我可以这样做吗?

也许我只能使用 SQL 来检查它,但我不知道该怎么做,有人可以帮我吗?

谢谢!

如果您要查找包含您的逻辑的单个查询,您可以尝试以下操作:

SELECT *
FROM tableExample
WHERE
    (COALESCE(filter2, '') = '' AND COALESCE(filter1, '') <> '' AND
     filter1 LIKE '%{filter1}%') OR
    (COALESCE(filter1, '') = '' AND COALESCE(filter2, '') <> '' AND
     id = '%{filter2}%')

请注意,有些难看的 COALESCE 调用是因为我不知道你所说的 empty 是什么意思。这是否意味着 NULL、空字符串或两者?