在即将到来的技术面试中,我得到了一个示例sql问题。我很难理解如何解决这个问题。
客户的合同始于2018年4月4日,止于2029年1月1日。客户签署了一份条款变更的续约书,从2024年2月10日开始,到2045年11月11日结束。编写更新旧合同和插入新合同所需的查询。
我是否可以构造包含示例记录的简单db表,例如:clientid、contract、cstartdate、cenddate
然后将insert写入并更新查询?或者他们在这里寻找不同的东西?
在即将到来的技术面试中,我得到了一个示例sql问题。我很难理解如何解决这个问题。
客户的合同始于2018年4月4日,止于2029年1月1日。客户签署了一份条款变更的续约书,从2024年2月10日开始,到2045年11月11日结束。编写更新旧合同和插入新合同所需的查询。
我是否可以构造包含示例记录的简单db表,例如:clientid、contract、cstartdate、cenddate
然后将insert写入并更新查询?或者他们在这里寻找不同的东西?
3条答案
按热度按时间aamkag611#
也许您可以创建一个包含contracid、clientid、cstartdate、cenddate、notes和status字段的表
通过这种方式,您只需将新的合同详细信息插入表中并更新“状态”字段,即可使当前处于活动状态的合同具有唯一的状态,例如,0->archived、1->active等。
或者,如果您希望不需要历史数据,那么可以省略status字段,只需使用clientid和contracid更新开始和结束日期(如果客户机有多个合同)
kjthegm62#
我想你在找这样的问题,
更新表-->
插入到表-->
ua4mk5z43#
如果不知道相关的表定义、relvar predicate 和业务规则,就无法有意义地回答这个问题。没有足够的信息。你可以猜测和做出假设(即定义你自己的表和规则),但如果这是问题的关键,它应该这么说。