我目前有一个为患者分配膳食的计划。然而,患者可以进行窗帘饮食。如果由于饮食而不允许分配的膳食,它会自动被替代膳食取代。
所以数据库会是这样的:
Diet
表:Diet_id,Diet_Name Replacement
表:meal_id,replacement_id,Diet_id 我想要做的是在SQL Server中编写一个查询,看看是否每个饮食组合都有替代品。
例如:
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)的组合。迭代太多了。是否可以选择测试所有组合?
答案 0 :(得分:1)
要获取ID:
Select diet_id from Diet
except
Select diet_id from Replacement