如何在sql中查找另一列中的一列

如何在sql中查找另一列中的一列,sql,Sql,我在另一列中查找一列时遇到问题。我有以下代码: SELECT company.name FROM company, person WHERE company.name not like '%'+person.sirname+'%' 有两个表,公司和列名 Company of mr. Black 和具有列名称的人员 Black 但是当我运行这段代码时,它变成了一个错误“invalid number”我想您正在尝试连接这两个表。尝试使用显式的JOIN语法,如下所示: SELECT compan

我在另一列中查找一列时遇到问题。我有以下代码:

SELECT company.name
FROM company, person
WHERE company.name not like '%'+person.sirname+'%'
有两个表,公司和列名

Company of mr. Black
和具有列名称的人员

Black

但是当我运行这段代码时,它变成了一个错误“invalid number”

我想您正在尝试连接这两个表。尝试使用显式的
JOIN
语法,如下所示:

SELECT company.name
FROM company
INNER JOIN person ON company.name not like '%'+person.sirname+'%'

我想你是想把这两张桌子合并起来。尝试使用显式的
JOIN
语法,如下所示:

SELECT company.name
FROM company
INNER JOIN person ON company.name not like '%'+person.sirname+'%'

字符串需要与| |运算符连接(并且可能需要连接条件):


如果使用+运算符,数据库会尝试将名称转换为数字,您会收到错误“无效数字”。

字符串需要与| |运算符连接(您可能需要连接条件):


如果使用+运算符,数据库试图将名称转换为一个数字,您得到的错误是无效的数字。

我认为您最好使用内部连接不要用于get也要使用ID,我想如果我没有弄错问题,这可能会有所帮助。

我认为您最好使用内部连接不要用于get也要使用ID,我猜是这样的如果我没有弄错问题,可能会有所帮助。

@fen1kss-您使用的是什么RDBMS?@fen1kss-您使用的是什么RDBMS?没有和person.company_id=company.id它应该可以工作,因为我尝试在另一列中查找一列,所以它们应该是连接的,对吗?如果表公司和表人之间没有连接条件,第一个表中的每一行都与第二个表中的每一行联接,查询结果将非常庞大。您的“不喜欢”条件很难成为联接条件,因为它消除了很少的行。所以它不会称之为“连接”。您可能需要更好地描述这两个表(列、示例数据)以及您想要实现的目标(最好是在新问题中)。然后我们可以更好地帮助您。没有和person.company_id=company.id它无论如何都应该工作,因为我尝试在另一列中查找一列,所以它们应该是连接的,对吗?如果表company和表person之间没有连接条件,第一个表中的每一行都与第二个表中的每一行联接,查询结果将非常庞大。您的“不喜欢”条件很难成为联接条件,因为它消除了很少的行。所以它不会称之为“连接”。您可能需要更好地描述这两个表(列、示例数据)以及您想要实现的目标(最好是在新问题中)。那么我们可以更好地帮助你。