我有一個 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.
- 1 回答
- 0 關注
- 88 瀏覽
添加回答
舉報
0/150
提交
取消