我的表X带有字符串列Y.它可能包含诸如" Hi"," Blue"," Red","等值。伟大"等 我有另一个表A,带有字符串列B.它可能包含诸如"嗨大家","天空是蓝色的,玫瑰是红色的。"。
我想列出表X中的所有值,其中值包含在表A的列B的值中。例如,在上面," Blue","嗨"和" Red"应该返回"大家好"包含"嗨"。第二个值,"天空是蓝色的,玫瑰是红色的"包含" Red"和"蓝"。 "大"不会显示,因为它不是B列的任何值。
我尝试过使用LIKE但它似乎不适用于选择(选择Y,其中Y就像concat一样('%&#39 ;,从A中选择B,&#39) ;%'))
答案 0 :(得分:1)
您可以使用以下方法获得所需的结果
加入
SELECT tx.*
FROM tablex tx
JOIN tablea ta ON ta.columnB LIKE CONCAT('%', tx.columnY, '%')
已存在
SELECT *
FROM tablex tx
WHERE EXISTS (
SELECT 1
FROM tablea
WHERE columnB LIKE CONCAT('%', tx.columnY, '%')
)