继较早的问题之后,我正在尝试整理一个包含电话号码的 SQL 表。我需要删除每行重复的数字- 而不是整个表格。例如,我的表如下所示:
| CustomerID | Tel1 | Tel2 | Tel3 | Tel4 | Tel5 | Tel6 |
| Cust001 | 01222222 | 012333333 | 07111111 | 07222222 | 01222222 | NULL |
| Cust002 | 07444444 | 07555555 | 015333333| 07555555 | NULL | NULL |
| Cust003 | 01222222 | 017777777 | 07888888 | 017777777 | 016666666 | 01222222 |
我想删除在同一行中出现两次或多次的任何数字......所以表格最终看起来像:
| CustomerID | Tel1 | Tel2 | Tel3 | Tel4 | Tel5 | Tel6 |
| Cust001 | 01222222 | 012333333 | 07111111 | 07222222 | NULL | NULL |
| Cust002 | 07444444 | 015333333 | 07555555 | NULL | NULL | NULL |
| Cust003 | 01222222 | 017777777 | 07888888 | 016666666| 013333 | NULL |
电话号码的顺序并不重要,只要数字在第一列并且任何 NULL 都在“右边”。
SQLFiddle在这里 - 任何人都可以建议如何有效地删除每行的重复值吗?