我正在尝试返回在表 A 中找不到但在表 B 中找到的表的列表。
Select tab.table_name
from information_schema.tables tab
Where tab.table_name not in (Select tc.table_name from terry.table_count tc);
有人可以帮我理解我做错了什么吗? 这种查询在 Oracle 中可以工作,但在 Redshift 中似乎不起作用。
由于您还没有回答有关错误消息的问题,我只会对正在发生的事情采取(消息灵通的)态度。 您收到“Redshift 表不支持指定类型或函数(每个 INFO 消息一个)”。
当您尝试从计算节点访问仅领导者信息时,会发生这种情况(以及其他原因)。 Redshift 是一个具有领导节点的集群,该节点将工作分配给计算节点,一旦工作完成,就会重新组合结果以进行演示。 一些数据库信息仅存在于领导者上,并且不可用于计算节点。
我在这里写了一篇关于解决此问题的文章 - 如何在 Redshift 中将系统表或信息架构表与用户定义的表连接起来