首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果存在套餐,SQL测试21组合

如果存在套餐,SQL测试21组合
EN

Stack Overflow用户
提问于 2015-09-29 14:52:36
回答 1查看 53关注 0票数 0

我目前有一个为病人分配膳食的计划。然而,病人可以吃窗帘式饮食。如果指定的膳食由于饮食而不被允许,它就会自动被替代的膳食所取代。

所以数据库应该是这样的:

  • Diet表: Diet_id,Diet_Name
  • Replacement表: meal_id,replacement_id,Diet_id

我想要做的是在SQL Server中编写一个查询,看看是否每种饮食组合都有可用的替代物。

例如:

代码语言:javascript
复制
A,B
A,C
A,B,C
A,B,X
A,B,C,X
A,B,...,X

因此,如果id 1的饮食没有替代组合A,B,C,我希望结果返回meal_id和饮食组合失败。

我目前有21种不同的饮食,这是事实(21)组合。太重了,不能重复。是否有一种替代方法来测试所有组合?

一些数据:https://dl.dropboxusercontent.com/u/3949922/diets.txt

EN

回答 1

Stack Overflow用户

发布于 2015-09-29 15:00:32

只需要拿到身份证:

代码语言:javascript
复制
Select diet_id from Diet
except
Select diet_id from Replacement
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32847208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档