通配符参数CR SQL查询

时间:2017-08-21 07:40:37

标签: sql oracle11g crystal-reports

我写的以下代码找到了。输出我期望的结果。

select distinct
     mi_tm.st_event_time,
     mi_tm.st_location,
     mi_tm.st_log_class,
     mi_tm.st_qty,
     mi_tm.st_reason,
     mi_tm.st_reason_data,
     mi_tm.st_sku_code,
     mi_tm.st_ulid,
     mi_tm.st_user_id,
     x_prod.description,
     x_supplier.supplier_name
from
     mi_tm, x_prod,
     x_igd, x_supplier
where
     mi_tm.st_date >= {?Start} and
     mi_tm.st_date <= {?End} and
     mi_tm.st_sku_code = x_prod.prod_code (+) and
     mi_tm.st_sku_code = x_igd.prod_code (+) and
     x_igd.supplier_no = x_supplier.supplier_no (+) and
     mi_tm.st_sku_code like  '{?SKU}' and
     mi_tm.st_log_class in ('TM_ADJUST_QTY', 'TM_CREATE', 'TM_DELETE')

然而对于这一行

   mi_tm.st_sku_code like  '{?SKU}' and

我希望它能够期望一个通配符参数,它将返回日期之间运行的所有值。只是查询%似乎导致我的报告崩溃。我试过添加&#39;%&#39;围绕参数。但我得到一个无效的数字错误,或SQL没有正确结束。我对此问题的任何帮助表示感谢。

编辑:将其放在底部

If {?SKU} = '*' then
mi_tm.st_sku_code like '*'
else mi_tm.st_sku_code like  '{?SKU}' 

0 个答案:

没有答案