有人可以帮我语法吗?

insert into history (company,partnumber,price)
 values ('blah','IFS0090','0.00')
 if company NOT IN ('blah','blah2','blah3','blah4','blah4')
 and partnumber='IFS0090';


背景:
我有一个历史表,其中存储了每天的公司,产品和价格。但是有时候一家公司会撤离自己几天。使问题复杂化的原因是,当我显示公司仍会按照前几天价格计算价格时,我仅将每日更改仅保存为价格,而不是对整个天数列表进行快照(数据会非常庞大​​)。因此,我需要执行类似的操作,其中0.00的价格意味着它们不再存在。

最佳答案

采用:

INSERT INTO HISTORY
  (company, partnumber, price)
 SELECT 'blah', 'IFS0090','0.00'
   FROM HISTORY h
  WHERE h.company NOT IN ('blah','blah2','blah3','blah4','blah4')
    AND h.partnumber = 'IFS0090'

10-08 16:29