如何在MySQL中的varchar字段上连接表

时间:2013-01-29 17:28:06

标签: mysql

Table_1
type   |   description
Error      Some description
Success    Another description

Table_2
type   |   description
Error 1    Some description
Error 2    Another description
Error 3    Yet another description

我需要通过type字段连接这两个表,type字段是两个表中的varchar数据类型。问题是由于“错误”与“错误1”或“错误2”不同,当我比较两个字段时,它返回空结果。我试过了:

select * from Table_1 a
left join Table_2 using (type)

select * from Table_2
where type in (select distinct type from Table_1)

任何帮助都将受到高度赞赏,提前感谢

编辑:当Table_1中的类型包含在Table_2中的类型中时,我应该能够获得结果。我知道它有点难以获得,但问题是在Table_1中我有不同场景的一般错误,而Table_2包含这些相同的错误,但旁边有更多的信息。 Table_2充满了来自日志文件的数据,我可以做很多事情。

1 个答案:

答案 0 :(得分:5)

你的联盟应该没问题。第三种方式:

select * from Table_1 a
left join Table_2 b on a.type = b.type

如果您没有收到任何结果,则type列的值不等于

<强>更新

鉴于您的评论指出Table_1.typeTable_2.type的子字符串,您可以更改联接运算符:

select * from Table_1 a
left join Table_2 b on b.type LIKE '%' + a.type + '%'

这种做法并不理想。请谨慎使用。