Подсчитать слово в текстовом столбце в MySQL

Этот вопрос касается MySQL Query. У меня есть три таблицы:

  1. бренд (состоит из: текста)
  2. englishkeyword (состоит из ID, слова)
  3. englishkeywordmodel (состоит из: ID, оценка)

Я хочу подсчитать, сколько слов в «тексте» со словом, которое уже определено в «слове». Затем результат сохраняется в 'score'. Это мой код:

UPDATE englishkeywordmodel
SET score=(SELECT COUNT(*)FROM brand WHERE text LIKE (SELECT word FROM englishkeyword WHERE ID=2 LIKE ('%', word, '%')))
WHERE ID=2;

Я получил эту ошибку:

1241 - операнд должен содержать 1 столбец (столбцы)

Говорю большое спасибо за ответ!


person cak nizar    schedule 10.11.2015    source источник


Ответы (1)


Используйте LIMIT, потому что ваш подзапрос выбирает два или более столбца

SELECT word FROM englishkeyword WHERE ID=2 AND Column LIKE
CONCAT('%', word ,'%')  limit 1
person Abhishek Sharma    schedule 10.11.2015
comment
подождите, извините, я ошибся с моим вопросом. Я сделал редактирование. Кстати, у меня все еще есть ошибка с этим запросом - person cak nizar; 10.11.2015
comment
ГДЕ ID=2 НРАВИТСЯ ('%', слово, '%') это недопустимо - person Abhishek Sharma; 10.11.2015
comment
WHERE ID=2 AND Column LIKE ('%', слово, '%') изменить это - person Abhishek Sharma; 10.11.2015
comment
SELECT word FROM englishkeyword WHERE ID=2 AND Column LIKE CONCAT('%', word ,'%') limit 1 попробуйте это - person Abhishek Sharma; 10.11.2015
comment
мне очень приятно :)- @caknizar - person Abhishek Sharma; 10.11.2015
comment
хм, у меня есть дополнительный вопрос, связанный с этой публикацией: возможно ли это, если я сделаю для некоторого идентификатора в одном запросе? предположим, у меня есть 10 идентификаторов, так как сделать запрос за время? - person cak nizar; 10.11.2015
comment
Используйте где id IN (1,2,3,4,5...) @caknizar - person Abhishek Sharma; 10.11.2015
comment
это работает, но, по моим наблюдениям, подсчитанное слово - это только первый идентификатор, поэтому значение идентификатора после него совпадает с первым идентификатором. например. ID 1 считается 4, затем 2,3,4,5 = 4 (тогда как нет) - person cak nizar; 10.11.2015
comment
Давайте продолжим обсуждение в чате. - person cak nizar; 10.11.2015