我有一張Products
表,它映射到一個包含所有產品包含的所有項目的橋接表,因此產品A可以由幾個項目組成或僅包含一個項目。 (OTM)通過橋接表加入一對多關係
的product_sub_item_bridge
看起來是這樣的,
+------------+----------------------------+ | product_id | client_sub_product_item_id | +------------+----------------------------+ | 137 | 332 | | 138 | 333 | | 139 | 334 | | 140 | 332 | | 140 | 335 | +------------+----------------------------+
所以說,客戶訂單產品,項目和將被插入到一個名爲client_sub_products
表裏面有關係訂單和存儲在client_sub_product_items
表中的物品本身。
我想什麼,現在做的是由client_order_id
也許GROUP_CONCAT()
ID用得到的所有client_sub_products
的,他們組,並以某種方式通過橋接表加入Products
表到它,這樣我就可以得到一個包含列表對所有由client_sub_product_items
組成的Products
全部爲COUNT()
。是這樣的...
+--------------+---------------------+ | product_name | count(product_name) | +--------------+---------------------+ | Product A | 15 | | Product B | 25 | +--------------+---------------------+
這裏是我迄今爲止,
SELECT GROUP_CONCAT(`client_sub_products`.`client_sub_product_item_id`) FROM `client_sub_products` LEFT JOIN `client_sub_product_items` ON `client_sub_product_items`.`id` = `client_sub_products`.`client_sub_product_item_id` GROUP BY `client_sub_products`.`client_order_id` ORDER BY `client_sub_products`.`client_order_id` ASC;
我似乎無法讓過去的橋接表,我不知道我怎麼能加入到client_sub_product_items
通過橋接表Products
,因爲有產品有多個client_sub_product_item
與它有關,我似乎在困惑我自己。
我希望我已經充分解釋了自己,而不只是困惑每個人......請讓我知道,如果我應該嘗試澄清上述任何事情。
在我看來,您只需要對產品進行版本升級。並將客戶與當時有效的產品版本聯繫起來。如果您被要求實現新的功能,並且需要更改數據庫模式,那就這樣做吧。我不知道如何將子產品映射到沒有它的產品,特別是給出了與產品相關的子產品可能會隨時間而改變的附加環境。 –