sql-server - Sql server 循环记录
问题描述
我正在查询保险申请,它有保险计划。假设PlanA,PlanB,PlanC,PlanD
保险计划在数据库中,我可以使用选择查询直接获取它们。
Select PlanName as [Plan], ‘’ as Section from app.[Plan]
现在我有几个部分不在数据库“Protective”、“Effective”、“EasyClaim”的任何表中。
每个计划都有这 3 个部分,对于每个计划,我都希望有这 3 个部分。
如果有 3 个计划,那么我的查询需要返回 12 条记录,如下所示
PlanA Protective
PlanA Effective
PlanA EasyClaim
PlanB Protective
我能想到的一种方法是在我的proc中创建一个临时表并将这3个部分存储在该临时表中并与该临时表进行左连接,有更好的建议吗?
解决方案
VALUES
如果我理解你所说的正确的话,似乎你只需要一个表结构:
SELECT P.PlanName
V.Section
FROM app.Plan P
CROSS APPLY (VALUES('Protective'),('Effective'),('EasyClaim'))V(Section);
推荐阅读
- python - L1 vs L2或MSE vs MAE和欧几里得范数..公式不同?为什么可以互换使用?
- flutter - 需要像 Flutter 中的 Uber 一样的 Voip 通话
- javascript - 如何使用 Node JS 在计算机上检测 Web 调试器?
- bash - 如何从用户用户以 root 身份运行 bash 脚本?
- ios - IOS 错误:由于 ionic3 中未捕获的异常“NSUnknownKeyException”而终止应用程序?
- r - ifelse 和 fromJSON 在管道中的奇怪行为
- flowable - Flowable Docker 6.4.2:保存 BPMN 时出现 NullPointerException
- javascript - 从 Web 服务器 android 应用程序加载应用程序图标
- java - 使用 github-java sdk 添加审阅者到拉取请求
- java - spring-data-redis 与 Spring 3 兼容吗?