[SQL] 重复资料的移除问题

楼主: giveadamn (nein)   2020-01-21 11:40:15
请教版友
若我有二栏资料
一栏是手机,一栏是市话
客户可能二栏都填,也可能只填其一,
而且客户可能不只填一次
例如
某个客户A
可能填了一列手机+市话的资料
然后又填了一列只有手机的资料
某客户B
只填了一列手机的资料
某客户C,
填了一列市话的资料
又填了一列手机+市话的资料
客户D,只填一列市话的资料
我需要的结果为
客户A,取出手机+市话的那一列
客户B,取出唯一手机列的资料
客户C,取出手机+市话的那一列
客户D,取出市话的那列资料
总之每个客户不管填几列,就只取出一列,
若有手机+市话的,优先取出,
若没有,则取出单市话或单手机的资料列
请问这样语法该怎么写呢
谢谢
作者: ken218 (ken218)   2020-01-23 00:46:00
http://sqlfiddle.com/#!18/b15472/4use case to classify then use rank to pick the right 1
作者: sleepghost (鸡蛋糕)   2020-01-30 15:18:00
SELECT ISNULL(手机+市话字段,ISNULL(手机列,市话列))
作者: SeanBoog (施吉祥先生)   2020-02-10 14:31:00
为什么不用||连接两栏就好?噢 误会了 你的资料储存是客户资料多列
作者: rockchangnew (rock)   2020-03-20 13:58:00
这有问题啊,万一客户A填了两笔手机+市话,你要哪一笔
作者: hmsDEBBIE (*黛比*)   2020-03-22 23:45:00
疑问同楼上,你的资料是不是需要一栏insert_date,然后ranking时order by insert_date desc 取最新一笔

Links booklink

Contact Us: admin [ a t ] ucptt.com