Mysql 如何将具有两个组合值的字段左键联接到单个varchar字段中?
foos.bar\u slash\u otherstuff是一个varchar,如下所示:Mysql 如何将具有两个组合值的字段左键联接到单个varchar字段中?,mysql,Mysql,foos.bar\u slash\u otherstuff是一个varchar,如下所示: bar/otherstuff bar.bar是一个varchar,如下所示: bar 现在我需要离开,加入这疯狂的行列。我不允许使用临时表来做这个 select `foos`.`bar_slash_otherstuff`, `bars`.`bar` from `foos` left join `bars`
bar/otherstuff
bar.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)
这是可行的,但这是实现这一点的一种体面的方法,还是有更优化的方法?您可以创建一个两步流程,其中第一步是一个拆分bar\u slash\u otherstuff字段的查询,第二步执行上述联接 没有临时表我怎么做?第一步是查询,所以从技术上讲它是临时表(游标),但你永远看不到它。如果这是你所关心的,那么就没有清理。我想你首先要找到并鞭打那个将两个值烘焙到一个字段中的家伙@他是我的老板。所以我想我需要找到“我如何鞭笞我的老板而不被解雇”的帖子。哦,这是一个很难的帖子。“遗留代码”或“遗留设计”可能是一种痛苦。