2014-09-01 3 views
0

У меня есть ощущение, что есть легкое решение этой проблемы, но я не могу понять, как правильно это сформулировать, чтобы получить ответ, который я ищу из Google.MySQL присоединяется к данным, где правая сторона имеет префиксную строку

Мне нужно объединить две таблицы, где поле в таблице 1 Я хочу использовать для соединения является целым числом позволяет сказать для этого примера и таблицу 2 «s поле является строкой, которая следует за этим шаблон: узел/#, где # является от Таблица 1.

Обычно, если данные были такой же я сделаю

JOIN table1 t1 ON t1.id = table2.id 

Но в псевдо я хочу сделать

JOIN table1 t1 ON #{node/}+t1.id = table2.id 

Где я вручную добавлять узел/ на значение в таблице 1, чтобы оно соответствовало значению в таблице 2. Но я не знаю, возможно ли это.

Каков правильный способ сделать это?

+1

Это вполне возможно, чтобы присоединиться на настраиваемой выражение, здесь нужно просто бросить и CONCAT: CONCAT («узел /», литая (t1.id, как VARCHAR)) – Logar

+0

@ Logar бит 'concat' работал, однако используя' cast (.. as varchar) ', я сделал ошибку. – Novocaine

ответ

1

CONCAT Использование для конкатенации строк:

SELECT whatever 
FROM table1 AS t1 
JOIN table2 AS t2 ON CONCAT('node/', t1.id) = t2.id 
+0

знал, что это будет что-то простое. благодаря – Novocaine

Смежные вопросы