关于Fr跨数据库连接的一个思路

楼主
我是社区第1151527位番薯,欢迎点我头像关注我哦~

数据库A 使用数据库查询自带的参数--公式--SQL()函数查出数据库B的值。

再在数据库A,使用数据库序号函数,用函数分割出"," 每个","为原本的一个值

自行参考,2个数据库都是oracle。

分享扩散:

沙发
发表于 2023-5-9 11:56:10
参数 ZQFS数 作用为获取数据库B的数据条数
参数 ZQFS时间和ZQFS值 作用为获取数据库B的值

数据库A语句:
SELECT
SUBSTR('${ZQFS时间}'
,CASE WHEN rownum=1 THEN 1 ELSE INSTR('${ZQFS时间}',',',1,rownum-1)+1 END
,CASE WHEN rownum='${ZQFS数}' THEN lengthb('${ZQFS时间}') ELSE INSTR('${ZQFS时间}',',',1,rownum) END-CASE WHEN rownum=1 THEN 1 ELSE INSTR('${ZQFS时间}',',',1,rownum-1) END - CASE WHEN (rownum=1 or rownum='${ZQFS数}') THEN 0 ELSE 1 end
) 时间
,SUBSTR('${ZQFS值}'
,CASE WHEN rownum=1 THEN 1 ELSE INSTR('${ZQFS值}',',',1,rownum-1)+1 END
,CASE WHEN rownum='${ZQFS数}' THEN lengthb('${ZQFS值}') ELSE INSTR('${ZQFS值}',',',1,rownum) END-CASE WHEN rownum=1 THEN 1 ELSE INSTR('${ZQFS值}',',',1,rownum-1) END - CASE WHEN (rownum=1 or rownum='${ZQFS数}') THEN 0 ELSE 1 end
) 值
FROM TMMSM01H
WHERE 1=1
AND rownum <='${ZQFS数}'

ZQFS数  函数语句:
SQL("COMM113","SELECT SUM(数) FROM( SELECT TO_CHAR(MSG_TIME+1/24, 'YYYY-MM-DD HH24:')||'00:00' 日期,COUNT(*) 数 FROM ASSIST_2  WHERE MSG_TIME > TO_DATE('"+$开始时刻+"','YYYY-MM-DD HH24:MI:SS') AND MSG_TIME <= TO_DATE('"+$结束时刻+"','YYYY-MM-DD HH24:MI:SS') "+IF(LEN($班组)==0,"","AND DECODE(PROD_SHIFT_GROUP,'A','甲班','B','乙班','C','丙班','D','丁班')='"+$班组+"'")+" GROUP BY TO_CHAR(MSG_TIME+1/24, 'YYYY-MM-DD HH24:')||'00:00')",1)
ZQFS时间 函数语句:
SQL("COMM113","SELECT TO_CHAR(MSG_TIME+1/24, 'YYYY-MM-DD HH24:')||'00:00' 日期,SUM(BA_SEND_XRQ_ZQZL)+SUM(BA_QB_FS_FLOW)+SUM(BB_SEND_XRQ_ZQZL)+SUM(BB_QB_FS_FLOW)+SUM(BC_SEND_XRQ_ZQZL)+SUM(BC_QB_FS_FLOW)+SUM(BD_SEND_XRQ_ZQZL)+SUM(BD_QB_FS_FLOW) FROM ASSIST_2  WHERE MSG_TIME > TO_DATE('"+$开始时刻+"','YYYY-MM-DD HH24:MI:SS') AND MSG_TIME <= TO_DATE('"+$结束时刻+"','YYYY-MM-DD HH24:MI:SS') "+IF(LEN($班组)==0,"","AND DECODE(PROD_SHIFT_GROUP,'A','甲班','B','乙班','C','丙班','D','丁班')='"+$班组+"'")+" GROUP BY TO_CHAR(MSG_TIME+1/24, 'YYYY-MM-DD HH24:')||'00:00'",1)
板凳
发表于 2023-5-9 17:57:00
数据集支持表名前面带库名,同时可以查好几个库的表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

2回帖数 1关注人数 4238浏览人数
最后回复于:2023-5-9 17:57

返回顶部 返回列表