我正在学习sql server中的linked server,我在sql server中链接了oracle数据库,并成功地对oracle链接数据库运行了查询,如下所示:
SELECT *
FROM OPENQUERY(DB_ORCL,'select Name, ID from OdataLink.patients')
我在sql server中也有一个表,我想在上面的OPENQUERY的where子句中使用该数据,但不知道如何使用。
Select ID from PatientTable
所以基于上面的sql查询,我想要这样的东西:
SELECT *
FROM OPENQUERY(DB_ORCL,'select Name, ID from OdataLink.patients')
where "--ID in OPENQUERY above" IN (Select ID from PatientTable)
或者
SELECT *
FROM OPENQUERY(DB_ORCL,'select Name, ID from OdataLink.patients where ID in (--Select ID from PatientTable)')
更新日期:
我测试了Stu提供的解决方案,它几乎可以工作,但我无法在外部where子句中调用openquery中的列字段
Screenshot of the error
1条答案
按热度按时间kcugc4gi1#
尝试 exists 关联