我无法在另一列中找到一列。我有这个代码:
SELECT company.name
FROM company, person
WHERE company.name not like '%'+person.sirname+'%'
有两个表,公司有列 - 名称
Company of mr. Black
和有专栏的人 - sirname
Black
但是当我运行这段代码时,它变成了一个错误“无效号码”
我无法在另一列中找到一列。我有这个代码:
SELECT company.name
FROM company, person
WHERE company.name not like '%'+person.sirname+'%'
有两个表,公司有列 - 名称
Company of mr. Black
和有专栏的人 - sirname
Black
但是当我运行这段代码时,它变成了一个错误“无效号码”
我认为您正在尝试加入这两个表。尝试JOIN
像这样使用显式语法:
SELECT company.name
FROM company
INNER JOIN person ON company.name not like '%'+person.sirname+'%'
字符串需要与 || 连接。运算符(您可能需要一个 JOIN 条件):
SELECT company.name
FROM company, person
WHERE company.name not like '%' || person.sirname || '%'
AND person.company_id = company.id
如果您使用 + 运算符,数据库会尝试将名称转换为数字,您会收到错误invalid number。
我认为最好的事情是你应该使用内部连接,不要为了获取也使用 ID 我想这可能会有所帮助如果我没有弄错问题