2009-05-14 5 views
1

J'ai deux tables: "Stock Master" et "Stock In", comment puis-je créer une relation plusieurs-à-un entre eux? "Stock In" enregistre de nombreux stocks différents selon des dates et des quantités différentes, mais "Stock Master" doit montrer et combiner les mêmes stocks avec leurs quantités en une, et doit fonctionner comme premier entré, premier sorti.Comment ajouter plusieurs-à-une relation dans PostgreSQL

Répondre

0

À moins de manquer quelque chose ici, vous devrez gérer cela en utilisant les relations de clé primaire/étrangère appropriées.

1

Cela ne semble pas être le cas de plusieurs-à-un.

Si je comprends bien, vous avez un inventaire qui arrive à différents moments de différents types. Vous voulez enregistrer ce qui est entré, vous voulez voir combien d'un type spécifique vous avez, et vous voulez être en mesure d'identifier le plus ancien lot reçu afin que vous puissiez prioriser cela pour l'expédition.

Vaste et simplifié, vous ne disposez que d'une seule table enregistrant les envois reçus avec une colonne Date et heure de réception que vous pouvez appeler les clauses WHERE pour déterminer quelle entrée est la plus ancienne et doit donc être expédiée.

Vous n'avez pas besoin d'une table en tant que telle pour agréger l'inventaire (en ignorant les options telles que les vues matérialisées et autres pour l'instant). Juste additionnez la colonne de quantité; groupe par type de produit.

+0

Oui! C'est ce que je veux! quelqu'un sait comment le faire dans postgresql? –

0

Si vous voulez créer une vue en Postgresql (comme il semble que vous faites de votre commentaire à l'avis de JosefAssad), comme dans presque tout autre base de données SQL, utilisez quelque chose comme:

CREATE VIEW Stockmaster (prodid, total) 
    AS SELECT prodid, SUM(quantity) 
    FROM Stockin 
    GROUP BY prodid 
Questions connexes