如何将具有两个组合值的字段连接到单个varchar字段?

时间:2015-10-28 14:49:57

标签: mysql

foos.bar_slash_otherstuff是一个如下所示的varchar:

bar/otherstuff

bars.bar是一个如下所示的varchar:

bar

现在我需要加入这种疯狂。我不允许使用临时表...

   select 
        `foos`.`bar_slash_otherstuff`,
        `bars`.`bar`
    from 
        `foos`
    left join 
        `bars` 
         on `bars`.`bar` = LEFT(`foos`.`bar_slash_otherstuff`, LOCATE('/', `foos`.`bar_slash_otherstuff`) - 1)

这有效,但这是实现这一目标的一种不错的方式,还是有更优化的东西?

1 个答案:

答案 0 :(得分:0)

您可以创建一个两步过程,其中第一步是分割bar_slash_otherstuff字段的查询,第二步是执行上述连接。