Sagen, ich habe TabellenWie kann ich Werte aus einer Tabelle basierend auf den Werten in einer anderen Tabelle übernehmen?
Parts
PartID (Primary Key)
Part Name
Orders
OrderID (Primary Key)
CustID (Foreign Key)
OrderDetails
OrderDetailsID (Primary Key)
PartID (Foreign Key)
Quantity
OrderID (Foreign Key)
Wenn ich für mehrere PartIDs von Orderdetails, wie wäre dies zu tun würde ich gehen, um Teilname gesucht? Würde ich zwei DataTables verwenden? Ich bin verwirrt, weil ich keinen effizienten Weg sehe, dies zu tun. Das einzige, was ich denken kann, ist eine Datentabelle mit SQL zu erstellen:
SELECT * FROM OrderDetails WHERE OrderID=OrderID;
und dann vielleicht ein For-Schleife verwenden, um jede PartID zu nehmen, ein weitere Datentabelle erstellen, den Partnamen für das zu finden, und dann dies eine geben Variable. Es könnte bis zu 10 PartIDs geben, und ich möchte keine Variablen wie PartID1 PartID2 usw. haben.
Ich hoffe, ich konnte mein Problem effektiv vermitteln.
Dank
EDIT:
SQLCmd = "SELECT tblParts.PartID, tblParts.PartName, tblOrderDetails.Quantity, OrderDetails.OrderID FROM tblOrderDetails, tblParts "
SQLCmd = SQLCmd & "WHERE tblParts.PartID = OrderDetails.PartID AND OrderID=" & OrderID & ";"
Ich bin ein bisschen verwirrt, das klingt wie eine einfache Abfrage? Wählen Sie od.OrderDetailsID, p.Part_Name, od.Quantity, od.OrderID aus OrderDetails od, Teile p Wo p.partid = od.partid möglicherweise sogar nur eine einfache Ansicht verarbeiten könnte. –
@mike - Ja, ich würde mich für so etwas entscheiden, obwohl ich es vorziehen würde, den Join anzugeben. Aber was ist mit "Bestellungen" los? Das sieht nach einer fiesen Entnormalisierung aus. –
Sie möchten nicht partiid in Bestellungen speichern, da es eine Eins-zu-viele-Beziehung ist. – HLGEM