【发布时间】:2019-10-27 03:37:16
【问题描述】:
我正在尝试使用 SQL 从 TOAD for Oracle 中的两个单独架构中通过唯一标识符提取数据。通常,我会导出到 Python 并从那里处理 csv,但是,在这种情况下,我必须在导出之前在 TOAD 中进行比较,因为一个数据字段太大而无法在不使用票证标识符过滤的情况下导出。所以,我试过了:
SELECT LDKEY, LDOWNERTABLE, LDTEXT, LDOWNERCOL
FROM DB.SCHEMA1
WHERE LDKEY = DB.SCHEMA2.TICKETUID
还有……
SELECT LDKEY, LDOWNERTABLE, LDTEXT, LDOWNERCOL
FROM DB.SCHEMA1
WHERE (
SELECT TICKETUID
FROM DB.SCHEMA2
WHERE LDKEY = TICKETUID
)
如何将一个架构中的 LDKEY 与另一个架构的 TICKETUID 进行比较?我只想提取密钥和票证相等的数据——我不需要的所有其他数据。我只能使用一个模式成功地获取数据,但是一个数据集DB.SCHEMA1 太大而无法导出,因此必须先对其进行过滤。跨模式比较如何在 SQL/TOAD 中工作?如何从 SQL 查询中引用其他架构?
我已经看到了类似的问题,但似乎没有人直接解决这个问题。
【问题讨论】:
-
schema1和schema2是表还是不同的架构?似乎 db 是架构名称,schema1 和 schema2 是您查询中的表 -
一个实际上是一个“视图”,另一个是一个“表”——他们为什么这样?我永远不会知道。我实际上还有其他一些问题,所以我什至认为我不再需要这个解决方案了。