Поиск с помощью функции «НРАВИТСЯ» во внутреннем объединении

Я знаю, что следующее утверждение неверно:

SELECT Terms.LName, Terms.FName, AS400.SystemID, AS400.userid, AS400.Status, AS400.text
FROM Terms 
    INNER JOIN AS400 ON WHERE text LIKE %Terms.LNAME = AS400.text;

Поле AS400.text — это свободное текстовое поле на AS400, которое мы используем для хранения имени и фамилии пользователей.

Что я хотел бы сделать, так это найти в поле AS400.text содержимое поля Terms.LName.

Я создал фиктивный столбец AS400.LName для проверки внутреннего соединения, и он отлично работает:

SELECT Terms.LName, Terms.FName, AS400.SystemID, AS400.userid, AS400.Status, AS400.text
FROM Terms 
    INNER JOIN AS400 ON Terms.LName = AS400.LName;

Идеи?


person Dennis Kramer    schedule 23.12.2011    source источник


Ответы (1)


Я думаю, вы ищете что-то вроде:

SELECT 
 Terms.LName,
 Terms.FName, 
 AS400.SystemID, 
 AS400.userid, 
 AS400.Status, 
 AS400.text
FROM 
 Terms 
 INNER JOIN AS400 ON 
   AS400.text LIKE '%' + Terms.LNAME + '%'
person Erik Philips    schedule 23.12.2011
comment
Пришлось немного подправить, думаю получится. ВЫБЕРИТЕ AS400.text, AS400.userid ИЗ условий INNER JOIN AS400 ON AS400.text LIKE (CONCAT ('%',Terms.LNAME) || ' ' || CONCAT (Terms.FNAME, '%')); - person Dennis Kramer; 24.12.2011