1

我有两个表:“Stock Master”和“Stock In”,如何在它们之间创建多对一关系?“Stock In”记录了许多不同日期和数量的不同库存,但“Stock Master”必须将相同的库存及其数量显示并合并为一个,并且必须具有先进先出的功能。

4

3 回答 3

1

这听起来不像多对一是你真正需要的。

如果我理解正确,您有不同类型的不同时间进入的库存。您想记录收到的货物,您想查看您拥有多少特定类型,并且您希望能够识别最早收到的批次,以便您可以优先考虑运输。

大大简化了,您只需要一张记录已接收货物的表格,其中包含一个接收时间和日期列,您可以调用 WHERE 子句来确定哪个条目是最旧的,因此应该发货。

您不需要这样的表格来汇总库存(暂时忽略物化视图等选项)。只需对数量列求和;按产品类型分组。

于 2009-05-14T20:49:26.807 回答
0

如果您想在 Postgresql 中创建一个视图(就像您对 JosefAssad 的建议的评论所做的那样),就像在任何其他 SQL 数据库中一样,请使用以下内容:

CREATE VIEW Stockmaster (prodid, total)
  AS SELECT prodid, SUM(quantity)
  FROM Stockin
  GROUP BY prodid
于 2009-05-14T21:24:01.357 回答
0

除非我在这里遗漏了一些东西,否则您可以使用适当的主键/外键关系来处理这个问题。

于 2009-05-14T20:48:36.167 回答