Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何将具有两个组合值的字段左键联接到单个varchar字段中?_Mysql - Fatal编程技术网

Mysql 如何将具有两个组合值的字段左键联接到单个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`

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` 
         on `bars`.`bar` = LEFT(`foos`.`bar_slash_otherstuff`, LOCATE('/', `foos`.`bar_slash_otherstuff`) - 1)

这是可行的,但这是实现这一点的一种体面的方法,还是有更优化的方法?

您可以创建一个两步流程,其中第一步是一个拆分bar\u slash\u otherstuff字段的查询,第二步执行上述联接

没有临时表我怎么做?第一步是查询,所以从技术上讲它是临时表(游标),但你永远看不到它。如果这是你所关心的,那么就没有清理。我想你首先要找到并鞭打那个将两个值烘焙到一个字段中的家伙@他是我的老板。所以我想我需要找到“我如何鞭笞我的老板而不被解雇”的帖子。哦,这是一个很难的帖子。“遗留代码”或“遗留设计”可能是一种痛苦。