假设我有两个包含相似对象的表,例如有关某些音乐专辑的信息。 表 A 有一个很长的专辑列表,显示艺术家、专辑名称、发行年份和流派,但表 B 包含一个较短的专辑列表,可能只有一位艺术家(显示专辑名称、发行年份、流派)。
现在我想查找某个艺术家(显示在表 B 中)的哪些专辑也显示在表 A 中。
通常我会这样说:
选择标题
来自表A a,表B b
其中 a.title = b.title
但问题是表 A 和表 B 可能以不同的方式显示标题,例如表 A 中专辑的标题可能是:“The Title”,但同一张专辑可能被称为:“The Title (feat.Artist2)”在表 B 中。但是,差异可能并不总是相同的。
是否有任何方法可以比较这两个表和这些表中的标题列并找到两个表中的专辑,同时考虑到标题可能不同,即使它们代表相同的专辑?
like 函数存在,但是否可以修改它以适应这些情况?或者可能有更好的解决方案来解决这个问题?
最佳答案
SELECT a.title
FROM tableA a, tableB b
WHERE a.title LIKE '%' + b.title + '%'
关于sql - 比较两个表并在 SQL 列中查找相似内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27427648/