金融大鹅 2013-09-09 02:39 采纳率: 0%
浏览 1572

FULL JOIN 搞死我了 ……高手进来

SELECT *
FROM (SELECT AFTERMARKET, SUM(LFIMG) AS LFIMG, NAME1
FROM (SELECT R.AFTERMARKET, ABS(LFIMG) AS LFIMG, NAME1
FROM ROS_SALES_DATA@ROS_LINK_TO_AIGUSER T,
RAP_COMPANY_CRMTOROS@ROS_LINK_TO_AIGUSER R
WHERE T.KUNNR = R.SELL
AND T.AUART IN
('ZEOR', 'ZIOR', 'ZKO', 'ZOOR', 'ZKE', 'ZSDS')) F
GROUP BY AFTERMARKET, NAME1) A
FULL JOIN (SELECT AFTERMARKET, SUM(ABS(TLFIMG)) AS TLFIMG, NAME1
FROM (SELECT R.AFTERMARKET,
TO_NUMBER(T.LFIMG) AS TLFIMG,
NAME1
FROM ROS_SALES_DATA@ROS_LINK_TO_AIGUSER T,
RAP_COMPANY_CRMTOROS@ROS_LINK_TO_AIGUSER R
WHERE R.AFTERMARKET = T.KUNNR
AND T.AUART IN ('ZDNE', 'ZDRE')) C
GROUP BY C.AFTERMARKET, C.NAME1) B

ON A.AFTERMARKET = B.AFTERMARKET;

SQL在上
在pl/sql中能查出来,当点击显示下一页显示行数超过100行就会执行很久都没结果
在程序中就会直接卡死不出来
求高手指教………………最好代替full join

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-31 07:04
    关注

    试试以下改进的SQL语句:

    WITH 
      T1 AS (
        SELECT R.AFTERMARKET, ABS(LFIMG) AS LFIMG, NAME1
        FROM ROS_SALES_DATA@ROS_LINK_TO_AIGUSER T
        JOIN RAP_COMPANY_CRMTOROS@ROS_LINK_TO_AIGUSER R
        ON T.KUNNR = R.SELL
        WHERE T.AUART IN ('ZEOR', 'ZIOR', 'ZKO', 'ZOOR', 'ZKE', 'ZSDS')
      ),
      T2 AS (
        SELECT R.AFTERMARKET, TO_NUMBER(T.LFIMG) AS TLFIMG, NAME1
        FROM ROS_SALES_DATA@ROS_LINK_TO_AIGUSER T
        JOIN RAP_COMPANY_CRMTOROS@ROS_LINK_TO_AIGUSER R
        ON R.AFTERMARKET = T.KUNNR
        WHERE T.AUART IN ('ZDNE', 'ZDRE')
      ),
      T3 AS (
        SELECT AFTERMARKET, SUM(LFIMG) AS LFIMG, NAME1
        FROM T1
        GROUP BY AFTERMARKET, NAME1
      ),
      T4 AS (
        SELECT AFTERMARKET, SUM(ABS(TLFIMG)) AS TLFIMG, NAME1
        FROM T2
        GROUP BY AFTERMARKET, NAME1
      )
    SELECT T3.AFTERMARKET, T3.LFIMG, T4.TLFIMG, T3.NAME1
    FROM T3
    JOIN T4
    ON T3.AFTERMARKET = T4.AFTERMARKET;
    

    这样可以减少行数并加速查询。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog