У меня есть необходимость конкатенации строки с значением поля в запросе MySQL, чтобы LEFT JOIN две таблицы.Объединить строку с значением поля в MySQL
В таблице 1 есть столбец с названием «category_id» с числовыми значениями, такими как 61, 78, 94 и т. Д.
В таблице 2 указан столбец «запрос», который ссылается на механизм маршрута запроса, и он имеет такие значения, как «product_id = 68», «category_id = 74», «manufacturer_id = 99» и т. Д.
Поэтому в моем запросе мне необходимо присоединиться к таблицам, когда когда-либо конкатенированная строка, полученная из заданной строки, и значение столбца «category_id» соответствует полю запроса.
My SQL заявление в настоящее время:
SELECT * FROM tableOne
LEFT JOIN tableTwo
ON tableTwo.query = 'category_id=' + tableOne.category_id
Я попытался с помощью || оператора вместо оператора +, но все равно не повезло. Возможно ли это сделать в MySQL, или я тут же подпрыгнул?
Отлично! Я попытался использовать 'CONCAT_WS ('=', 'category_id', tableOne.category_id)', но, похоже, это была неправильная функция целиком! спасибо! – Ben
Все в порядке. Но как я могу конкатенировать по обе стороны поля. например добавление котировок с обеих сторон меню, например: "menuid1".? – ShivarajRH
Поскольку concat() принимает произвольное количество аргументов (http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_concat), вы должны иметь возможность concat ('"', table.column, '"'); – Will