0

我无法在另一列中找到一列。我有这个代码:

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

有两个表,公司有列 - 名称

Company of mr. Black

和有专栏的人 - sirname

Black

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

4

3 回答 3

2

我认为您正在尝试加入这两个表。尝试JOIN像这样使用显式语法:

SELECT company.name
FROM company
INNER JOIN person ON company.name not like '%'+person.sirname+'%'
于 2012-12-03T07:46:35.047 回答
2

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

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

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

于 2012-12-03T07:47:52.087 回答
1

我认为最好的事情是你应该使用内部连接,不要为了获取也使用 ID 我想这可能会有所帮助如果我没有弄错问题

于 2012-12-03T07:55:29.490 回答