TypechoJoeTheme

Toasobi的博客

分表之后如何关联(附sql)

本文最后更新于2023年08月31日,已超过385天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
案例背景:
假设有一张菜谱信息表,需要将里面的点赞字段单独做一张表关联,如何修改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 

结束

朗读
赞(1)
评论 (0)