2016-09-02 5 views
2

У меня проблема с соединением SQL.SQL частично присоединяется

У меня есть две таблицы. table1: name, sth. table2: имя, СТГ.

Что я хотел бы сделать, так это найти строки в таблице2, чье имя содержит имя table1.name. например такие строки должны быть выбраны:

table1.name = aa. table2.name = aab 

Я написал запрос:

select * 
from table1 
inner join table2 on table2.name like '%'+table1.name+'%' 

возвращает ошибку

[42000]: Error while compiling statement: FAILED: SemanticException [Error 10017]: Line 2:3 Both left and right aliases encountered in JOIN ''%''

Может кто-нибудь помочь мне в этом? Большое спасибо

+1

Я удалил несовместимые теги базы данных. Добавьте теги для базы данных, которую вы действительно используете. –

+0

Что означает «сбой»? –

+0

возвращает ошибку: [42000]: Ошибка при компиляции оператора: FAILED: SemanticException [Ошибка 10017]: Строка 2: 3 Игла и правые псевдонимы, встречающиеся в JOIN ''% '' – Yonbantai

ответ

3

Вы можете попробовать это

select * 
from table1 t1 
where exists (select 1 
       from table2 t2 
       where t2.name like '%'+t1.name+'%') 
Смежные вопросы