gpt4 book ai didi

sql - SAS 直通 SQL - 多个数据库

转载 作者:行者123 更新时间:2023-12-04 15:23:13 28 4
gpt4 key购买 nike

我想从 DB2 中检索与 DB1 表中的标识符匹配的记录列表,就像常规 SAS 子查询一样。如何使用 SAS 直通 SQL 执行此操作?

使用常规 SAS SQL 在 db1 上执行(长而复杂的)SQL 太慢了,这就是为什么我改用传递 SQL 的原因。

我尝试了以下但没有运气:

proc sql;
connect to db1 as A (user=&userid. password=&userpw. database=MY_DB);
connect to db2 as B (user=&userid. password=&userpw. database=MY_DB);

create table test as
select * from connection to B (
select * from schema.table
Where ID_NUM =
(select * from connection to A
(select ID_NUM from schema2.table2)
);
);
disconnect from A;
disconnect from B;
quit;

最佳答案

如果您连接到单个 DB2 实例并连接不同模式/数据库中的两个表,以下内容应该适合您:

proc sql;
connect to db2 as B (user=&userid. password=&userpw. database=MY_DB);

create table test as
select * from connection to B (
/* here we're in DB2 SQL */
select t1.* from schema.table as t1
inner join schema2.table2 as t2
on t1.ID_NUM = t2.ID_NUM
);
/* automatic disconnect at PROC SQL boundary */
quit;

如果您与两个不同的服务器/两个用户帐户交谈,则可以使用没有直通的异构连接。那么 ID_NUM 值的预期数量将很重要。

关于sql - SAS 直通 SQL - 多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19255905/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com