开发者社区> 问答> 正文

从数据库映射中删除

我有这3个表+数据:

items:itemId,itemName 数据:1,我的第一个

类别:catId,catName 数据:1,我的猫之一。2,我的猫二

map:mapId,itemId,catId

当您在“我的猫咪”类别中包括“我的物品一”项目时,可以在地图中插入[1,1,1]。当您将“我的项目一”添加到“我的猫二”时,您将[2,1,2]插入到地图中。现在假设我们改变了主意,只想要“我的猫两只”中的物品。这意味着我们需要知道该物品不再属于哪些类别,并从地图中删除关联。这样做最有效的步骤顺序是什么?(我正在寻找一种解决方案,可以扩展到这个琐碎的示例之外。)

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 16:06:00 516 0
1 条回答
写回答
取消 提交回答
  • 假设您已经获得了“我的猫二”的类别ID和“我的项目1”的项目ID:

    DELETE FROM MAP WHERE ItemID = @MyItem1Id AND CatID <> @MyCat2Id 如果您要保留一组类别,则可以:

    从地图上删除该商品的所有内容,然后重新添加该商品 使用与上面类似的查询,但带有“ AND CatID NOT IN [...]”

    2019-11-18 16:06:07
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载