我正在使用Oracle 10g数据库,想要从一个表中提取一组记录,然后使用这些记录来获取一堆相关表中的记录。
如果使用T-SQL,我会这样做:
CREATE TABLE #PatientIDs (
pId int
)
INSERT INTO #PatientIDs
select distinct pId from appointments
SELECT * from Person WHERE Person.pId IN (select pId from #PatientIDs)
SELECT * from Allergies WHERE Allergies.pId IN (select pId from #PatientIDs)
DROP TABLE #PatientIDs
然而,我查看的所有有用页面都让这看起来比实际情况要复杂得多,所以我认为我一定忽略了一些显而易见的东西。
(顺便说一句,我可能不会将其作为一个脚本运行,而是在Oracle SQL Developer中打开一个会话,创建临时表,然后逐个运行每个查询,并在进行导出CSV的同时进行。这样可以吗?)