Tableau T1:MySQL: Boucle une table et en met une autre à jour?
s (string) | x (int)
----------------+--------
"gfrdgeradfg" | 0
"abdfodpnmn" | 0
... | ...
Tableau t2:
c (varchar(1))
-----
"a"
"c"
"g"
"r"
-----
Je voudrais ajouter +1 à t1.x pour chaque t2.c de caractère qui se produit dans t1.s, à savoir le résultat devrait quelque chose comme ceci:
s | x
----------------+--------
"gfrdgeradfg" | 3 (contains "a","g","r")
"abdfodpnmn" | 1 (contains "a")
... | ...
Looping par t2 et mise à jour t1 en php est assez simple, mais je préfère le faire dans SQL pur, si possible.
Merci pour votre aide.
Le vôtre ne fonctionnait pas,? à cause de la parenthèse devrait être avant de sélectionner - cela semble crunch nombre ok ... (- toujours en attente de résultat, 60k lignes ...). MISE A JOUR t1 SET x = (SELECT SUM (t1.s COMME CONCAT ('%', t2.c, '%')) DE t2 ) – ajo
J'espère que ça fonctionne bien, et il semble très soigné. Bien que cela prenne beaucoup de temps (t1 a 60k lignes, t2 2k). - Si t1 était une table très longue, mais que t2 n'avait que très peu (disons 3) d'entrées, y aurait-il un moyen plus rapide d'atteindre ce résultat en passant principalement par les entrées t2? – ajo
Oui, cela a très bien fonctionné (cela a pris environ 10 minutes). Merci beaucoup. (Je soupçonne qu'il n'y aurait pas une solution beaucoup plus rapide ...) – ajo