Объединение таблиц с помощью LIKE (SQL) - PullRequest
10 голосов
/ 07 марта 2011

Прежде всего я использую Oracle:

Имя таблицы одно = tableone

Имя таблицы два = tabletwo

tableone имеет столбец с именемpizzaone, tabletwo имеет столбец с именем pizzatwo.Я хочу присоединиться tableone к tabletwo, где pizzaone где-то в имени pizzatwo.

Что я пробовал:

select * 
from tableone 
   join tabletwo on tableone.pizzaone like ('%' + tabletwo.pizzatwo + '%')

Как я могу это исправитьзапрос

1 Ответ

24 голосов
/ 08 марта 2011

Попробуйте вместо этого использовать следующий синтаксис:

select * 
from tableone 
   join tabletwo on tableone.pizzaone like ('%' || tabletwo.pizzatwo || '%')

Оператор конкатенации строк Oracle - это двойной канал (||).Ошибка неверного числа вызвана тем, что Oracle ожидает числовые операнды для оператора «+».

...