여기서는 꽤 많은 selcet + 업데이트 질문을 읽었지만 어떻게 할 수 있는지 이해할 수 없습니다. 그래서 처음부터 물어야합니다.mysql select update
다른 테이블의 데이터를 기반으로 테이블을 업데이트하고 싶습니다. 설정은 다음과 같이이다 :
SELECT id, word FROM a
(for each) -> UPDATE b SET words = CONCAT(words, ',', a.id) WHERE b.textarea like %a.word%
또는 더 나은 :
이제- TABLE a (int ; string)
ID WORD
1 banana
2 orange
3 apple
- TABLE b ("comma separated" string ; string)
WORDS TEXTAREA
0 banana -> 0,1
0 orange apple apple -> BEST:0,2,3 ELSE 0,2,3,3
0 banana orange apple -> 0,1,2,3
내가 좋아하는 b.WORDS 표에서 각 단어 APPEND ", a.ID"에 대한 싶습니다 단어를 교체 b.textarea에서 ", a.id"로 발견되었으므로 쉼표로 구분 된 id의 문자열로 끝나는 b.textarea입니다. 그러나 가능한지 여부는 알 수 없습니다.
시도했지만 작동하지 않습니다. 그러나 나는 점점 가까워지고 있다고 생각한다.
UPDATE a, b
SET b.textarea =
replace(b.textarea,a.word,CONCAT(',',a.id))
WHERE a.word IN (b.textarea)
ORDER BY length(a.word) DESC