Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle SQL联接子查询dblink_Sql_Oracle_Join_Subquery - Fatal编程技术网

Oracle SQL联接子查询dblink

Oracle SQL联接子查询dblink,sql,oracle,join,subquery,Sql,Oracle,Join,Subquery,子查询联接返回错误,找不到子查询表。感谢您的帮助 我有两张桌子。一个是正常的。操作\所有者。跟踪\邮件\项目。 另一个是dblink,我不确定它是如何工作的,但我会按照它的工作原理运行 SELECT TRUNC(event_date,'HH24'), tmi_uid FROM TRACK_OWNER.TRACKING_DETAIL@dblink_track WHERE event_id ='158' AND event_date BETWEEN to_d

子查询联接返回错误,找不到子查询表。感谢您的帮助

我有两张桌子。一个是正常的。操作\所有者。跟踪\邮件\项目。 另一个是dblink,我不确定它是如何工作的,但我会按照它的工作原理运行

SELECT TRUNC(event_date,'HH24'),
        tmi_uid
    FROM TRACK_OWNER.TRACKING_DETAIL@dblink_track 
    WHERE event_id ='158'
    AND event_date BETWEEN to_date('04/01/2017 12:00:01 AM', 'MM/DD/YYYY HH12:MI:SS AM') AND to_date('04/30/2017 11:59:59 PM', 'MM/DD/YYYY HH12:MI:SS PM')
由于dblink表有多个列作为键tmi_uid和事件id。我想运行子查询,使tmi_uid成为键,以便以后使用。但是,当我运行以下命令时,错误是

ORA-00904:M.EVENT_日期:无效标识符 90400000-%s:无效标识符 *原因: *操作:第21行第6列出错

非常感谢您的帮助。

这是您对m的子查询:

它不命名第一列,因此不能在外部查询中引用它。您还可以简化日期算法,以便:

(SELECT TRUNC(event_date,'HH24') as event_date, tmi_uid
 FROM TRACK_OWNER.TRACKING_DETAIL@dblink_track 
 WHERE event_id ='158' AND
      event_date >= date '2017-04-01' AND
      event_date < date '2017-05-01'
) m

您的子查询未返回日期字段。。。应该选择trunc。。。作为事件\ U日期或其他别名,然后更改主查询m。
(SELECT TRUNC(event_date,'HH24'), tmi_uid
  FROM TRACK_OWNER.TRACKING_DETAIL@dblink_track 
WHERE event_id ='158' AND
      event_date BETWEEN to_date('04/01/2017 12:00:01 AM', 'MM/DD/YYYY HH12:MI:SS AM') AND to_date('04/30/2017 11:59:59 PM', 'MM/DD/YYYY HH12:MI:SS PM')
) m
(SELECT TRUNC(event_date,'HH24') as event_date, tmi_uid
 FROM TRACK_OWNER.TRACKING_DETAIL@dblink_track 
 WHERE event_id ='158' AND
      event_date >= date '2017-04-01' AND
      event_date < date '2017-05-01'
) m