Edit
(original answer below)
Your comment (and subsequent editing) completely changes the question.
To do this, you can use LIKE as part of the ON clause in the join:
CREATE TABLE a (foo varchar(254)) GO CREATE TABLE b (id int, bar varchar(254)) GO INSERT INTO a (foo) VALUES ('one') INSERT INTO a (foo) VALUES ('tone') INSERT INTO a (foo) VALUES ('phone') INSERT INTO a (foo) VALUES ('two') INSERT INTO a (foo) VALUES ('three') INSERT INTO b (id, bar) VALUES (2, 'ne') INSERT INTO b (id, bar) VALUES (3, 't') SELECT a.foo FROM a INNER JOIN b ON a.foo LIKE '%' + b.bar WHERE b.id = 2
(For the SQL Server version of MySQL to add different semicolons, remove GO s and use ...LIKE concat('%', b.bar) instead.)
Uses id = 2 to find bar = "ne" in table b , then adds the % operator and uses it to filter the results from a . Results:
one tone phone
You do not need to concat if you can save the statement in b.bar .
Separately, I was surprised to find that this works (on SQL Server):
SELECT foo FROM a WHERE foo LIKE ( SELECT TOP 1 '%' + bar FROM b WHERE id = 2 )
... but the version using JOIN is probably more flexible.
That should make you.
Original answer
(Perhaps no longer relevant)
It's hard to say what you're asking for, but here is an example of using LIKE to limit JOIN results:
SELECT a.foo, b.bar FROM someTable a INNER JOIN someOtherTable b ON a.someField = b.someField WHERE a.foo LIKE 'SOMETHING%' AND b.bar LIKE '%SOMETHING ELSE'
This will give you foo from someTable and bar from someOtherTable where the lines are connected using someField and foo starts with "SOMETHING" and bar ends with "SOMETHING ELSE".