如何在sql中找到另一列

时间:2012-12-03 07:45:00

标签: sql

我在另一列中找到一列时遇到问题。我有这段代码:

SELECT company.name
FROM company, person
WHERE company.name not like '%'+person.sirname+'%'

有两个表,名称为

的公司
Company of mr. Black

和列 - sirname的人

Black

但是当我运行此代码时,它会成为错误“无效数字”

3 个答案:

答案 0 :(得分:2)

我认为你正试图加入这两张桌子。尝试使用明确的JOIN语法,如下所示:

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

答案 1 :(得分:2)

字符串需要与||连接operator(你可能需要一个JOIN条件):

SELECT company.name
FROM company, person
WHERE company.name not like '%' || person.sirname || '%'
AND person.company_id = company.id

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

答案 2 :(得分:1)

我认为你应该使用内部联接的最好的事情不是为了得到也使用ID我想这可以帮助如果我没有得到错误的问题