我有一个“新闻”表,其中包含一对多的“NewsState”表。需要在NewsState字段上更新名为“expired”(设置为true),具体取决于“新闻”表中“日期”字段的值,这些条件
我没有想到的解决方案,其中不包含一些重要的子选择和IN子句。
答案 0 :(得分:1)
可以使用window functions,f.ex。:
(我假设你在news_id
表中有一个News
作为主键 - 也就是NewsState
中的外键 - 如果不是这样的话,你可以使用{{ 1}}构造函数用于比较ROW()
表达式中的多个列。我还假设IN
属于expired
。)
boolean
Some SQLFiddle samples(为简单起见,使用不同的规则编号)。