【问题标题】:how to use IN operator in oracle apex classic report如何在 oracle apex 经典报告中使用 IN 运算符
【发布时间】:2018-11-14 10:55:24
【问题描述】:

我想在 oracle apex 经典报告中使用 in 运算符对详细数据和多个详细数据进行排序。那么我怎样才能通过 sql 查询来做到这一点呢? 请帮帮我。

SELECT fr_st_invoiceno,
      sales_type,
      cust_id,
      sia_id,
      coll_amount,
      remarks,
      cash_bank,
      bank_name,
      check_no,
      update_id,
      updatedate,
      slno,
      invoice_type,
      trcode,
      send_voucher_no,
      send_voucher_no_depot
FROM dis_invoice_tk_collection
WHERE position = 1
      AND   fromstore_id =:p157_depot
      AND   send_voucher_no IN (:p157_send_voucher_no)

感谢并致以诚挚的敬意。 捣碎。

【问题讨论】:

  • 恐怕我不明白这个问题。使用IN时遇到什么问题?它与其他任何地方一样在经典报告中工作。如果要对数据进行排序,请使用用户 ORDER BY(IN 与它有什么关系?)。什么是“多细节数据”?您能否提供更多信息、创建测试用例、附上屏幕截图……什么?
  • 我想在经典报告中使用此代码:选择 FR_ST_INVOICENO、SALES_TYPE、CUST_ID、SIA_ID、COLL_AMOUNT、REMARKS、CASH_BANK、BANK_NAME、CHECK_NO、UPDATE_ID、UPDATEDATE、SLNO、INVOICE_TYPE、TRCODE、SEND_VOUCHER_NO、SEND_VOUCHER_NO_DEPOT来自 DIS_INVOICE_TK_COLLECTION 其中 POSITION=1 和 FROMSTORE_ID =:P157_DEPOT 和 SEND_VOUCHER_NO 在 (:P157_SEND_VOUCHER_NO) 但我不能...

标签: oracle oracle-apex oracle-apex-5.1


【解决方案1】:

您必须将逗号分隔的值拆分为行,例如

and send_voucher in
  (select regexp_substr(:P157_SEND_VOUCHER_NO, '[^,]+', 1, level)
   from dual
   connect by level <= regexp_count(:P157_SEND_VOUCHER_NO, ',') + 1
  )

假设 P157_SEND_VOUCHER_NO 看起来像 10,20,30。

不要忘记将 P157_SEND_VOUCHER_NO 项目放入“要提交的页面项目”属性中。

【讨论】:

    【解决方案2】:
    AND   instr(','||:p157_send_voucher_no||',', ','||send_voucher_no||',') > 0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多