Dans le prolongement d'un question précédente J'essaie de mettre de l'ordre dans une table SQL contenant des numéros de téléphone. J'ai besoin de supprimer les numéros en double par ligne - pas sur l'ensemble de la table. Par exemple, mon tableau ressemble à :
| 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 |
et j'aimerais supprimer tout numéro qui apparaît deux fois ou plus dans la même ligne... donc le tableau ressemblerait à ça :
| 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 |
L'ordre des numéros de téléphone n'a pas d'importance, tant que les numéros sont dans les premières colonnes et que les NULS sont à "droite".
SQLFiddle est ici - quelqu'un peut-il suggérer comment supprimer efficacement les valeurs en double par ligne ?