[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