我有一张这样的桌子
name | apples | actual_apples
-----------------------------
John | 5 | 10
-----------------------------
Dave | 3 | 4
我通过查询拥有苹果的人来找到它!= 使用 count() 计算他们实际苹果的数量。
我想要做的是更改这样的行并apples = actual_apples
为返回的每一行设置。
我怎样才能实现这样的目标?我试图更新 apples 属性,但显然它不会让我将属性设置为返回多个值的东西
(假设每个苹果都是唯一的,有自己的标识符,这就是我计算它们的方法)
Person {name,age,apples}
has {name(FK(Person)),id(FK(Apples))}
Apples {id,type}
apples 属性是一个人拥有的苹果数量。它可能不正确,它只是由输入数据的人设置的。
我可以通过计算某人拥有的苹果的实际数量(这是我用来获取上面显示的表格的查询)
select p.name, p.apples, count(h.id) as actual_apples
from Person p, has h
where p.name = h.name
group by p.name, p.apples
having apples != count(h.id)