Oracle SQL联接子查询dblink
子查询联接返回错误,找不到子查询表。感谢您的帮助 我有两张桌子。一个是正常的。操作\所有者。跟踪\邮件\项目。 另一个是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
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