Ich versuche, die Bestellung in Teile aufgeteilt werden. 1, 3, 20. Ist egal. Und jedes Teil bedeutet, dass es diese Produkte aus einem anderen Lager nimmt.Probleme bei der Auswahl von Multipart (Multi Warehouse) Bestellungen
Ich habe dies versucht:
CREATE TABLE w_orders (
order_id int,
customer_id int,
PRIMARY KEY(order_id)
);
CREATE TABLE w_order_items (
order_item_id int,
order_id int,
warehouse_id int,
product_id int,
quantity int,
base_price int,
PRIMARY KEY(order_item_id)
);
CREATE TABLE w_order_parts (
order_part_id int,
order_id int,
part int,
warehouse_id int,
shipped int,
PRIMARY KEY(order_part_id)
);
w_orders
ist, wo die eindeutige Bestell-ID zugeordnet ist, und in dem der Client zugewiesen ist.
w_order_items
sind alle Produkte in der Bestellung, aus mehreren Lagern.
Und w_order_parts
ist, was ich habe Probleme mit. Ich brauche diesen Tisch, denn hier gebe ich an, ob die Bestellung aus diesem Lager verschickt wurde.
Dies ist die Struktur I zu erreichen versuchen:
Ich verstehe, dass dies mit PHP verarbeitet werden muss wie folgt aussehen. Ich frage nicht danach. Ich habe mich nur an das Design der Datenbank und die Auswahl der Datenbank gehalten.
Wenn ich versuche abzufragen bekomme ich mehrere gleiche w_order_items
.
SELECT
w_orders.order_id,
w_orders.customer_id,
w_order_items.order_item_id,
w_order_items.order_id,
w_order_items.warehouse_id,
w_order_items.product_id,
w_order_items.quantity,
w_order_items.base_price,
w_order_parts.order_part_id,
w_order_parts.order_id,
w_order_parts.part,
w_order_parts.warehouse_id,
w_order_parts.shipped
FROM
w_orders
LEFT JOIN w_order_items
ON w_orders.order_id = w_order_items.order_id
LEFT JOIN w_order_parts
ON w_orders.order_id = w_order_parts.order_id
WHERE w_orders.order_id = '100'
Heres ein Link zu SQL Fiddle Example
Ist das ein guter Tabellenentwurf für das, was ich zu erreichen versuchen und wie SELECT
ich die Einzelteile wie richtig im Bild oben?
Die exakte Ausgabe, die Sie erzielen möchten, wird normalerweise am besten in der Präsentationsebene (z. B. PHP) gehandhabt. Wie benutzt du MySQL? –
@TimBiegeleisen Ja, das weiß ich. Ich bin nicht dort angekommen, weil ich mit dem Design und der Auswahl von MySQL festgefahren bin. Das Bild oben dient nur dazu, visuelle Hilfe zu geben, wie es funktionieren wird, wenn es fertig ist. – Borsn