Объединить строку с значением поля в MySQL

У меня есть необходимость конкатенировать строку с значением поля в запросе MySQL, чтобы LEFT JOIN две таблицы.

В таблице 1 есть столбец под названием «category_id» с числовыми значениями, такими как 61, 78, 94 и т. Д.

В таблице 2 есть столбец «запрос», который ссылается на механизм маршрута запроса, и он имеет такие значения, как «product_id = 68», «category_id = 74», «manufacturer_id = 99» и т. Д.

Поэтому в моем запросе мне необходимо присоединиться к таблицам, когда когда-либо конкатенированная строка, полученная из заданной строки, и значение столбца «category_id» соответствует полю запроса.

В настоящее время моя инструкция SQL:

SELECT * FROM tableOne LEFT JOIN tableTwo ON tableTwo.query = 'category_id=' + tableOne.category_id 

Я пробовал использовать || оператора вместо оператора +, но все равно не повезло. Возможно ли это сделать в MySQL, или я тут же подпрыгнул?

Related of "Объединить строку с значением поля в MySQL"

Вы пытались использовать функцию concat () ?

 ON tableTwo.query = concat('category_id=',tableOne.category_id) 
 SELECT ..., CONCAT( 'category_id=', tableOne.category_id) as query2 FROM tableOne LEFT JOIN tableTwo ON tableTwo.query = query2 

Вот отличный ответ на этот вопрос:

SET sql_mode='PIPES_AS_CONCAT';

Подробнее здесь: https://stackoverflow.com/a/24777235/4120319

Вот полный SQL:

 SET sql_mode='PIPES_AS_CONCAT'; SELECT * FROM tableOne LEFT JOIN tableTwo ON tableTwo.query = 'category_id=' || tableOne.category_id; 

MySQL использует CONCAT () для объединения строк

 SELECT * FROM tableOne LEFT JOIN tableTwo ON tableTwo.query = CONCAT('category_id=', tableOne.category_id)