首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于多行标记实例?

问基于多行标记实例?
EN

Stack Overflow用户
提问于 2016-11-15 21:00:59
回答 2查看 30关注 0票数 0

我在理赔数据中工作,数据库中有多行。

例如:12345有5行,每条线路为不同的服务支付不同的金额。

我试图解决的问题是,每一行都可以自动定价,也可以手动定价。我试图用CASE/ will逻辑标记数据,这样任何带有手动价格标志的索赔都会出现在索赔上,标志将整个索赔设置为“手动定价”。

下面是数据仓库中数据外观的一个示例:http://imgur.com/a/QI4iC

下面是我期望逻辑产生的方式:http://imgur.com/a/kNTVm

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-15 21:07:38

这里有一个方法你可以做到这一点。

代码语言:javascript
复制
select CLAIMID
    , CLAIMLINE
    , USEMANUAL
    , IsManual.PricingUsed
from Claims c
cross apply
(
    select max(case when USEMANUAL = 'Y' then 'Yes' else 'No' end) as PricingUsed
    from Claims c2
    where c2.CLAIMID = c.CLAIMID
) as IsManual
票数 1
EN

Stack Overflow用户

发布于 2016-11-15 21:07:42

您可以使用窗口函数Max() over ( Server 2012+)

代码语言:javascript
复制
Declare @YourTable table (ClaimID int,ClaimLine int,UseManual varchar(10))
Insert Into @YourTable values
(12345,1,'N'),
(12345,2,'N'),
(12345,3,'N'),
(12345,4,'Y'),
(12345,5,'N')

Select *
      ,Manual_Priceing_Used = case when max(UseManual) over (Partition By ClaimID)='Y' then 'Yes' else 'No' end
 From  @YourTable

返回

代码语言:javascript
复制
   ClaimID  ClaimLine   UseManual   Manual_Priceing_Used
    12345   1           N           Yes
    12345   2           N           Yes
    12345   3           N           Yes
    12345   4           Y           Yes
    12345   5           N           Yes
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40619606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档