为了账号安全,请及时绑定邮箱和手机立即绑定

如何将类似子查询的参数发送到 SQL 过程中?

如何将类似子查询的参数发送到 SQL 过程中?

PHP
梵蒂冈之花 2022-07-16 16:06:38
我有一个 firebird 数据库,我在其中调用一个程序来获取一些数据。这个过程需要一个 ID,所以我有两个 php 查询,一个给我所有的 ID,另一个调用这个过程。$queryP ="SELECT PROVEEDOR_ID FROM PROVEEDORES";...some code...while ($RowQ = ibase_fetch_object ($QueryObject)) {       $queryCompras =SELECT SUM(IMPORTE) FROM ORSP_CM_COMPRAS_PROV($RowQ->PROVEEDOR_ID, '2019-01-01', '2019-12-31', 'B', 'P', 'N');...some code...我想做类似的事情 SELECT SUM(COMPRA_IMPORTE) FROM ORSP_CM_COMPRAS_PROV((SELECT PROVEEDOR_ID FROM PROVEEDORES), '2019-01-01', '2019-12-31', 'B', 'P', 'N'); 为了避免做太多的数据库调用,但我得到语句失败,SQLSTATE = 21000 单例选择中的多行有没有办法做到这一点?
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

您可以加入您的子查询(或在本例中为:表)和存储过程以获得所需的效果。


select sum(COMPRA_IMPORTE)

from PROVEEDORES p

left join ORSP_CM_COMPRAS_PROV(p.PROVEEDOR_ID, '2019-01-01', '2019-12-31', 'B', 'P', 'N') on 1 = 1

请注意,我使用的是left join,但它在加入存储过程时的实际效果类似于 Microsoft SQL Server 调用的OUTER APPLY.


查看完整回答
反对 回复 2022-07-16
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信