如何在Oracle SQL中创建临时表并向其中添加数据?

如何在Oracle SQL中创建临时表并向其中添加数据?,sql,oracle,Sql,Oracle,我已经根据首次使用我们服务的日期建立了一组帐户。我需要在几个不同的查询中使用这些队列,但不想在每个下游查询中都创建查询。原因:第一次获取数据需要60分钟以上,所以我不想为所有其他查询支付该税 我知道我可以做如下陈述: WHERE ACCOUNT_ID IN ('1234567','7891011','1213141'...) 但是,我想知道是否有一种方法可以创建一个临时表,用我的数据预填充,比如 WITH MAY_COHORT AS ( SELECT ACCOUNT_ID Account

我已经根据首次使用我们服务的日期建立了一组帐户。我需要在几个不同的查询中使用这些队列,但不想在每个下游查询中都创建查询。
原因:第一次获取数据需要60分钟以上,所以我不想为所有其他查询支付该税

我知道我可以做如下陈述:

WHERE  ACCOUNT_ID IN ('1234567','7891011','1213141'...) 
但是,我想知道是否有一种方法可以创建一个临时表,用我的数据预填充,比如

WITH MAY_COHORT AS ( SELECT ACCOUNT_ID  Account_ID, '1234567' Account_ID, '7891011' Account_ID, '1213141' )
我知道上述方法行不通,但如果您能给我任何建议或建议,我将不胜感激。
谢谢。

除非我遗漏了什么,否则您已经走上了正确的轨道,只需调整您的CTE即可:

WITH MAY_COHORT AS ( SELECT Account_ID from TableName WHERE ACCOUNT_ID IN ('1234567','7891011','1213141'...) )

这将为您提供用于后续查询的May_队列表。

您还可以为您的ID使用子选择(对于MY_队列,无
):

WHERE  ACCOUNT_ID IN (
          SELECT Account_ID 
            from TableName "Where ... your condition to build your cohort ..." )