这个表中每个客户号可能有1条或2条数据,系统类型只有A类或者B类,意思就是一个客户可能是A系统,或者B系统,也有可能同属于A,B系统.证件类型有多种.
要求:每个客户号取一条数据, 但是如果证件类型,证件号码相同的话,就取系统类型为B的.
客户号 系统类型 开立时间 证件类型 证件号码
C A T D N
C B T 1 D N
C1 B T 3 D1 N1
C2 A T 2 D2 N2
得到的表应该是这个样子:(证件类型与号码一致的取B系统类型的那条数.)
C B T 1 D N
C1 B T 3 D1 N1
C2 A T 2 D2 N2
知道的大哥们告诉我一下啊.麻烦写写,多谢多谢.
请教高手一个SQL问题,有这样一个表.表列是这个样子的: 客户号 系统类型 开立时间 证件类型 证件号码
答案:1 悬赏:70 手机版
解决时间 2021-01-28 01:03
- 提问者网友:藍了天白赴美
- 2021-01-27 00:34
最佳答案
- 五星知识达人网友:佘樂
- 2021-01-27 01:12
A系统和B系统同一个客户号的证件类型和证件号码一定相同吗?
如果相同的话,可以用下面的语句
select 客户号,系统类型,开立时间,证件类型,证件号码 from
(
select 客户号,系统类型,开立时间,证件类型,证件号码, row_number() over(partition by 客户号 order by
系统类型 desc) "row" from Table_Name
) where "row"=1
如果不相同的话,我对那个要求有点疑问。如果A,B系统的同一个客户号,他们的证件类型与号码不一致,那应该取哪个系统的数据没有说明。
如果相同的话,可以用下面的语句
select 客户号,系统类型,开立时间,证件类型,证件号码 from
(
select 客户号,系统类型,开立时间,证件类型,证件号码, row_number() over(partition by 客户号 order by
系统类型 desc) "row" from Table_Name
) where "row"=1
如果不相同的话,我对那个要求有点疑问。如果A,B系统的同一个客户号,他们的证件类型与号码不一致,那应该取哪个系统的数据没有说明。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯