sql的OUTER APPLY

今天写一个查询sql,其中涉及到一个银行卡绑定表(表名:BankBind),我要将这个表的开户行字段的值进行分割出省份、支行,

这个开户行字段存储的值如“广东省广东省分行江门市分行恩平市支行”、“招商银行”、“北京市八里庄支行”、“内蒙古自治区格勒日支行”等,分割的话涉及到一些逻辑判断,所以自定义了一个表值函数GetDistrictByBankBranch,入参是一个开户行值,返回一张表,包含省份、支行2列数据,当然就一条记录。

select * from GetDistrictByBankBranch('广东省广东省分行江门市分行恩平市支行')

返回:

province branch
广东省 广东省分行江门市分行恩平市支行

现在呢,要将全部记录的省份、支行查询出来,记得以前有过类似经历, 但是想不起来怎么写sql了。 最后开发组的一个小伙给出了方案,即使用sql的OUTER APPLY,如下是完整sql:

select *
from BankBind a
OUTER APPLY GetDistrictByBankBranch(a.BankSubbranch) b

 

另,做个笔记。所负责的一个项目的持久层使用的是EF,今天优化EFDbContext类的Add方法,使用到获取一个PO的key,方法是dbEntities.GetEntityKey(entity),其中的dbEntities是继承自DbContext的一个实体容器类的名称,这个通常在新建edmx时指定并创建的。

转载于:https://www.cnblogs.com/buguge/p/4044414.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值