【问题标题】:SQL Query: returning if column contains substringSQL 查询:如果列包含子字符串则返回
【发布时间】:2020-11-24 09:38:51
【问题描述】:

我有两个表 tableA 和 tableB。

如果 tableA 的 id 的字符串值为 tableB 名称的子字符串。 我尝试了 like 运算符,但似乎无法正常工作。

   tableA
id   |
bob
cat
sky
   tableB
name   |
bobby
catlyn
bret

answer table
id     |name   | 
bob    bobby
cat    catlyn 

【问题讨论】:

  • 也发布您的tried 查询。和 dbms。
  • 它是什么引擎?
  • 这也不是处理数据的正确方法。你应该有绑定表的键。
  • 究竟什么是“不起作用”?你的结果和你预期的不一样?因此,提供您的查询及其输出。如果您有错误,请将错误消息添加为纯文本。
  • 这只是一个示例数据。我尝试了类似“tableB like %tableA.id%”的方法。但这不起作用,因为它不是字符串值,并且使用 + 连接不起作用。

标签: sql string inner-join sql-like


【解决方案1】:

您可以加入 like 条件:

select a.id, b.name
from tablea a
inner join tableb b on b.name like '%' || a.id || '%'

你没有告诉你正在运行哪个数据库,所以它使用标准的字符串连接运算符||;一些数据库使用其他东西(例如:MySQL 和 SQLServer 有函数concat())。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    相关资源
    最近更新 更多