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);
我正在查询一份保险申请,它有保险计划。假设 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);