J'ai une table avec les types d'enregistrements suivants. J'ai vendeur code> et les numéros de compte associés (virgule séparés). +----------+----------+
| Salesman | Acct |
+----------+----------+
| Ron | 1,2,3,4 |
| Kin | 6,7,8 |
| Joe | 10,23,45 |
I am looking for output some thing like,
+----------+----------+
| Salesman | Acct |
+----------+----------+
| Ron | 1 |
| Ron | 2 |
| Ron | 3 |
4 Réponses :
Je suppose que vous en avez besoin, tout comme une opération unique afin de restructurer votre schéma dans quelque chose d'utilisable.
Avez-vous une autre table qui répertorie tous les numéros de compte possibles? Si vous faites, vous pouvez le faire: P>
SELECT salesman, a.Acct FROM account AS a JOIN salesman_account AS sa ON FIND_IN_SET(a.Acct, sa.Acct)
Cela a parfaitement fonctionné. Merci beaucoup. Hope OP marque cela comme réponse :)
Vous pouvez le faire avec une procédure stockée. Voir http: //kedar.nitty- witty.com/blog/mysql-stororé-procédra-split-Delimited-string-into-orts pour un exemple qui semble résoudre votre problème. P>
S'il s'agit d'une opération unique, il est probablement plus facile d'utiliser n'importe quel langage de support pour effectuer le traitement. Python ou PHP est très rapide dans le développement de tels scripts. P>
Eh bien, c'est une chose très difficile à faire.
Je suppose que vous normaliserez votre base de données. Sinon, vous devriez vraiment. P>
Si j'étais vous, j'écris un script pour normaliser la table. Ensuite est un échantillon de PHP (il peut contenir des erreurs): p>