Database 如何显示2个仓库中的产品总数?
我有这个数据库: 我有一个问题,如果1号仓库中的产品在2号仓库中没有,反之亦然,如何显示2号仓库中的产品总数 我试过这样做 选择仓库1.良好计数+仓库2.良好计数 从仓库1到仓库2 将货物加入仓库1.good_id=goods.id 仓库2.good_id=goods.id;Database 如何显示2个仓库中的产品总数?,database,oracle,Database,Oracle,我有这个数据库: 我有一个问题,如果1号仓库中的产品在2号仓库中没有,反之亦然,如何显示2号仓库中的产品总数 我试过这样做 选择仓库1.良好计数+仓库2.良好计数 从仓库1到仓库2 将货物加入仓库1.good_id=goods.id 仓库2.good_id=goods.id; 但是它不起作用要么你误解了老师的要求,要么你的老师问错了问题 应该只有一个带有附加列的仓库表,例如仓库类型ID,其值将是远程的或附近的,或下一个值,可能对仓库类型表进行外键约束 那你就干脆 select t.warehou
但是它不起作用要么你误解了老师的要求,要么你的老师问错了问题 应该只有一个带有附加列的仓库表,例如仓库类型ID,其值将是远程的或附近的,或下一个值,可能对仓库类型表进行外键约束 那你就干脆
select t.warehouse_type_name,
sum(w.good_count) summary
from warehouse w join warehouse_type t on t.warehouse_type_id = w.warehouse_type_id
group by t.warehouse_type_name;
我读了你写的评论。这些仓库在物理上是不同的,一个在城市里,一个在郊区,这一事实并不能改变数据模型是错误的这一事实。它们所代表的数据应该包含在同一个表中,正如我前面解释的那样,这是一个单独的表
因为,当公司在其他城市建造另一个仓库时,你们会怎么做?添加另一个表?错了
无论如何,如果您坚持这样做,您可能会在这个错误的数据模型中寻找这样的东西:
select g.name,
sum(a.good_count + b.good_count) total_count
from goods g left join warehouse1 a on a.good_id = g.id
left join warehouse2 b on b.good_id = g.id
group by g.name
为什么要为仓库创建单独的表?这不是一个好的设计。当你必须添加仓库3时会发生什么?这是我老师的请求,仓库1是附近的仓库,仓库2是远程仓库@旧程序如图所示,我需要两个单独的仓库,同一个产品,可能1号仓库的数量为10,2号仓库的数量为20,我需要将共享相同产品id的2个仓库的产品相加结果为30。我看到了图,我说我认为这是错误的。在作业中,老师解释说,1号仓库在城市,2号仓库将更大,离城市更远,从1号仓库获得的产品将优先,如果产品不再可用,将从2号仓库移到省,要求从2个仓库总共获得1个产品,我无法连接两个仓库,我可以在1号仓库中找到1个产品的数量,但它将一个接一个地加起来。仓库中的产品2我编辑了答案并添加了更多文本。看一看