我找不到合适的题目,但我会尽力把我的问题解释清楚。
餐桌销售(每个餐厅以特定价格出售的啤酒、比萨饼等物品都有记录)
restaurantID | item_name | price
----------------------------------
1 beer1 4
1 beer2 5
2 beer1 7
2 beer2 6
约束条件:对于任何两个项目,如a和b,项目a应以低于b值或高于b值的价格在所有餐厅出售。我们不可能有这样的情况,特别是餐厅项目a比项目b比所有其他餐厅便宜。
在上面的例子中,2号餐厅的啤酒1比啤酒2卖得贵,而1号餐厅的啤酒也卖得便宜。
我的问题是,我们如何在上面这样的表上编写一个查询来验证这个约束。在这种情况下,我们应该得到'false'返回值,因为表违反了约束。
1条答案
按热度按时间qxgroojn1#
假设反资本主义的标准是餐厅1最便宜:
您可以使用以下方法验证表的内容:
这将选择餐厅1不是最便宜的所有项目。
您不能轻易地编写表约束。但是,在插入新产品时,我们可以确保仅在以下情况下插入:
因此,插入餐厅1项:
插入餐厅id!=一个项目会改变标准。