
1、初始化sortbuffer,确定放入name、city、age这三个字段。
2、从索引city找到第一个满足city等于从多到少条件的主键id,也就是图中的IDX。
3、主键id索引取出整行,取name、city、age三个字段的值,存入sortbuffer中。
4、从索引city取下一个记录的主键id。
5、重复步骤3、4直到city的值不满足查询条件为止,对应的主键id也就是图中的IDY。
6、对sortbuffer中的数据按照字段name做快速排序。
你的意思是如a表有个name字段存了 1-2-3-4
那么我的理解就是 你想 查询显示的结果就是
想把a表name字段里的1-2-3-4替换成 我写的样子?
不得不说 你数据规划问题特别的大。并且。。。。。。这种方式多表查询会出现乘积现象。
容我先想想 怎么查
你这个算是完蛋了。要只是想看效果的话有办法 不过要多执行几次语句 逼近一次只能替换一个字符
首先 你把你的a表 复制一下 名字我们取c好了
例如 1是北京 其他 234 我随意取名字
update c set name=replace(name,'1','北京')
update c set name=replace(name,'2','上海')
update c set name=replace(name,'3','山东')
依次类推 最后 c表就会变成这个样子了。
所有字段都替换完成了
个人建议 趁着这次把表关系理理清楚。
当然 你也可以使用 select 来查看 这样不需要修改了 语句一次看完也可以
select replace(name,'1-2-3-4','北京-上海-山东-广州 ') as from c
北京-上海-山东-广州
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)