【问题标题】:Ora-00903 invalid table nameora-00903 无效的表名
【发布时间】:2016-12-19 02:36:36
【问题描述】:

我正在尝试进行左连接查询并收到此错误。谁能告诉我我做错了什么?

SELECT incid,
  db_name,
  snap_time
FROM
  (SELECT incid,
    db_name,
    (TRUNC(MAX(optime),'MI')-TO_DATE('1970-01-01', 'YYYY-MM-DD')) * 86400000 SNAP_TIME
  FROM ticket_details s1
  WHERE optime BETWEEN sysdate-1 AND sysdate +6
  AND upper(db_name) = upper('EXPP')
  GROUP BY incid,
    db_name
  ) s1
LEFT OUTER JOIN
SELECT snap_time ,
  instance_name,
  cpu_used
FROM
  (SELECT (SNAP_TIME-TO_DATE('1970-01-01', 'YYYY-MM-DD')) * 86400000 SNAP_TIME,
    instance_name,
    ROUND( (
    CASE 'CPU_USED'
      WHEN 'CPU_USED'
      THEN CPU_USED
      WHEN 'REDO'
      THEN REDO
      WHEN 'TPS'
      THEN TPS
      WHEN 'PROCESS_USED'
      THEN PROCESS_USED
      WHEN 'LOGONS_PER_SEC'
      THEN LOGONS_PER_SEC
      WHEN 'LOGICAL_READS_MBPS'
      THEN LOGICAL_READS_MBPS
      WHEN 'LFS'
      THEN LFS
      WHEN 'LFPW'
      THEN LFPW
      WHEN 'SINGLE_BLOCK_READ'
      THEN SINGLE_BLOCK_READ
      WHEN 'IOPS_MBPS'
      THEN IOPS_MBPS
      WHEN 'PHY_READS'
      THEN PHY_READS
      WHEN 'PHY_WRITES'
      THEN PHY_WRITES
      WHEN 'STREAMS_IO'
      THEN STREAMS_IO
      WHEN 'RMAN_IO'
      THEN RMAN_IO
      WHEN 'NETWORK'
      THEN NETWORK
      WHEN 'CONCURRENCY_AAS'
      THEN CONCURRENCY_AAS
      WHEN 'COMMIT_AAS'
      THEN COMMIT_AAS
      WHEN 'USER_IO_AAS'
      THEN USER_IO_AAS
      WHEN 'SYSTEM_IO_AAS'
      THEN SYSTEM_IO_AAS
      WHEN 'OTHERS_AAS'
      THEN OTHERS_AAS
      WHEN 'CONFIG_AAS'
      THEN CONFIG_AAS
      WHEN 'APP_AAS'
      THEN APP_AAS
      WHEN 'CLUSTER_AAS'
      THEN CLUSTER_AAS
      WHEN 'NETWORK_AAS'
      THEN NETWORK_AAS
      WHEN 'ADMIN_AAS'
      THEN ADMIN_AAS
      WHEN 'TOTAL_AAS'
      THEN TOTAL_AAS
      WHEN 'CPU_AAS'
      THEN CPU_AAS
      WHEN 'USER_CALLS'
      THEN USER_CALLS
      WHEN 'PGA_USED'
      THEN PGA_USED
      ELSE NULL
    END), 2) CPU_USED
  FROM THIRDEYE_ORACLE_METRIC_HIST
  ) s2 ON s1.db_name = s2.instance_name
AND s1.snap_time     = s2.snap_time

【问题讨论】:

    标签: oracle oracle-sqldeveloper


    【解决方案1】:
    ...
    LEFT OUTER JOIN
    SELECT snap_time ,
    ...
    

    这里需要一些括号

    【讨论】:

      【解决方案2】:

      我认为您在左连接后缺少括号:

      SELECT incid,
        db_name,
        snap_time
      FROM
        (SELECT incid,
          db_name,
          (TRUNC(MAX(optime),'MI')-TO_DATE('1970-01-01', 'YYYY-MM-DD')) * 86400000 SNAP_TIME
        FROM ticket_details s1
        WHERE optime BETWEEN sysdate-1 AND sysdate +6
        AND upper(db_name) = upper('EXPP')
        GROUP BY incid,
          db_name
        ) s1
      LEFT OUTER JOIN
      ( -- This Parenthesis
      SELECT snap_time ,
        instance_name,
        cpu_used
      FROM
        (SELECT (SNAP_TIME-TO_DATE('1970-01-01', 'YYYY-MM-DD')) * 86400000 SNAP_TIME,
          instance_name,
          ROUND( (
          CASE 'CPU_USED'
            WHEN 'CPU_USED'
            THEN CPU_USED
            WHEN 'REDO'
            THEN REDO
            WHEN 'TPS'
            THEN TPS
            WHEN 'PROCESS_USED'
            THEN PROCESS_USED
            WHEN 'LOGONS_PER_SEC'
            THEN LOGONS_PER_SEC
            WHEN 'LOGICAL_READS_MBPS'
            THEN LOGICAL_READS_MBPS
            WHEN 'LFS'
            THEN LFS
            WHEN 'LFPW'
            THEN LFPW
            WHEN 'SINGLE_BLOCK_READ'
            THEN SINGLE_BLOCK_READ
            WHEN 'IOPS_MBPS'
            THEN IOPS_MBPS
            WHEN 'PHY_READS'
            THEN PHY_READS
            WHEN 'PHY_WRITES'
            THEN PHY_WRITES
            WHEN 'STREAMS_IO'
            THEN STREAMS_IO
            WHEN 'RMAN_IO'
            THEN RMAN_IO
            WHEN 'NETWORK'
            THEN NETWORK
            WHEN 'CONCURRENCY_AAS'
            THEN CONCURRENCY_AAS
            WHEN 'COMMIT_AAS'
            THEN COMMIT_AAS
            WHEN 'USER_IO_AAS'
            THEN USER_IO_AAS
            WHEN 'SYSTEM_IO_AAS'
            THEN SYSTEM_IO_AAS
            WHEN 'OTHERS_AAS'
            THEN OTHERS_AAS
            WHEN 'CONFIG_AAS'
            THEN CONFIG_AAS
            WHEN 'APP_AAS'
            THEN APP_AAS
            WHEN 'CLUSTER_AAS'
            THEN CLUSTER_AAS
            WHEN 'NETWORK_AAS'
            THEN NETWORK_AAS
            WHEN 'ADMIN_AAS'
            THEN ADMIN_AAS
            WHEN 'TOTAL_AAS'
            THEN TOTAL_AAS
            WHEN 'CPU_AAS'
            THEN CPU_AAS
            WHEN 'USER_CALLS'
            THEN USER_CALLS
            WHEN 'PGA_USED'
            THEN PGA_USED
            ELSE NULL
          END), 2) CPU_USED
        FROM THIRDEYE_ORACLE_METRIC_HIST
        )
        )-- This one too
        s2 ON s1.db_name = s2.instance_name
      AND s1.snap_time     = s2.snap_time
      

      【讨论】:

        猜你喜欢
        • 2016-07-31
        • 1970-01-01
        • 1970-01-01
        • 2015-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-16
        • 2019-12-01
        相关资源
        最近更新 更多