开发者社区> 问答> 正文

从另一个表的另一列中选择带有关键字的列

我需要有关可能很简单的SQL问题的帮助。SQL非常新,因此不确定如何解决此问题。我的问题是我试图选择一个columnA,其中该列中的数据包含来自tableB中另一个columnB的关键字。数据的示例如下。

tableA, columnA : {'This apple is red', 'This ball is round', 'This chair is metal'}
tableB, columnB : {'red', 'round'}

现在我在想这样的查询

SELECT columnA FROM tableA
WHERE columnA LIKE '%' + (SELECT columnB FROM tableB) + '%'

因此很显然,它将无法正常工作,因为子查询返回的值不止1个。我正在尝试查看其他一些要使用的功能,例如CURSOR,但我无法弄清楚。非常感谢您的帮助,谢谢。

展开
收起
祖安文状元 2020-01-05 14:52:08 506 0
1 条回答
写回答
取消 提交回答
  • 使用EXISTS来代替:

    SELECT columnA FROM tableA A
    WHERE EXISTS (SELECT 1 FROM tableB B where A.columnA LIKE '%' + B.columnB + '%')
    
    2020-01-05 14:52:19
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载