Sql 服务器循环记录

Sql server looping records

我正在查询一份保险申请,它有保​​险计划。假设 PlanA、PlanB、PlanC、PlanD

保险计划在数据库中,我可以使用 select 查询直接获取它们。

Select PlanName as [Plan], ‘’ as Section from app.[Plan]

现在我有几个部分不在数据库“保护”、“有效”、“EasyClaim”中的任何 table 中。

每个计划都有这 3 个部分,对于每个计划我都想有这 3 个部分。

如果有 3 个计划,那么我的查询需要 return 12 条记录如下

PlanA Protective
PlanA Effective
PlanA EasyClaim
PlanB Protective

我能想到的一种方法是在我的 proc 中创建一个临时 table 并将这 3 个部分存储在该临时 table 中并与该临时 table 进行左连接,有更好的建议吗?

看来你只需要一个 VALUES table 结构,如果我明白的话 你说的对:

SELECT P.PlanName
       V.Section
FROM app.Plan P
     CROSS APPLY (VALUES('Protective'),('Effective'),('EasyClaim'))V(Section);