Toasobi
分表之后如何关联(附sql)
本文最后更新于2023年08月31日,已超过494天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
案例背景:
假设有一张菜谱信息表,需要将里面的点赞字段单独做一张表关联,如何修改xml
1. 修改映射关系,使得将分表之后的数据按照原来的形式映射到返回值字段上
其中recipe_zan为之前的点赞字段,recipe_zan_num为分表后的点赞字段
2. 删除Base_Column_List中的该字段(不参与查询插入等操作)
3. 修改SQL
如图:
我们单独分析修改的部分SQL语句:
先从整个SQL分析,其实它就是一层层新构建表的嵌套查询,如下:
SELECT
recipe.*
FROM (
SELECT
recipe.**
FROM(
...
<!--这里就是关联所有用到的表,最后将关联后的表命名为recipe-->
)recipe
)recipe
这样就可以关联多表进行查询了,至于做修改的几个地方:
<!--如果它为NULL,则返回0;否则返回recipe.recipe_zan_num的实际值-->
CASE
WHEN recipe.recipe_zan_num IS NULL THEN 0
ELSE recipe.recipe_zan_num
END recipe_zan_num
<!--关联相关表-->
SELECT recipe.*, recipe_zan.recipe_zan_num, recipe_strategy.strategy_type FROM recipe LEFT JOIN
recipe_strategy ON
recipe.recipe_strategy_id = recipe_strategy.id LEFT JOIN recipe_zan ON recipe.id = recipe_zan.recipe_id WHERE
recipe.delete_state = 0
结束