2017-03-23 125 views
0

我對MySQL和PHP並不陌生。我將爲一家銷售化妝品產品的公司開發一個數據庫,該化妝品產品大小不同。我的數據庫有兩(2)個表格。一個是產品和其他是大小。我正在使用PHP PDO。我想要的就是加入這兩張表格,正如我在圖片中提到的那樣。我的問題很簡單:MySQL - 如何使用多個ID連接兩個或多個表?

如何插入和選擇兩種或多種尺寸的產品?

(如果我的這種做法是錯誤的,請建議我適當的一個可以用於這樣的情況下,另一種)。

預先感謝您的幫助。

My Table Map

+1

什麼是這個兩和表之間的關係? –

+0

@knowledge ....是的!這就是我需要知道的..!我如何在這兩個表格之間建立關係? – LuckyBoy

+0

尺寸標準是多少?那麼許多產品的尺寸是否相同?如果是這樣,它將是一個m:m(多對多)關係。這是一種產品可以有多種尺寸,並且可以有許多相同尺寸的產品。如果它的m:m,你將需要3張桌子。說:產品,尺寸,庫存。產品表保留有關產品的通用信息。大小保持關於不同尺寸及其相關測量的信息,最後庫存表結合其他2.庫存表告訴您有多少產品(例如:A)的尺寸(例如:M)有庫存。 – blokeish

回答

0

你需要另一個表名與product_size

與ID,PRODUCT_ID,size_id

而你需要插入數據才能使其相關ilke

id prodict_id size_id 
1  1   1 
2  1   2 
3  2   1 
4  3   4 
5  3   5 
6  4   5 

等 我對您的願望了鍋此表

,那麼你需要一個查詢來獲取你的願望輸出

select P.producr_id,P.name,group_concat(PS.size_id) from Product as P 
join product_size PS on PS.product_id=P.id group by PS.product_id 
+0

哇.. !!這是我想要的!!就是這個...!!你拯救了我的未來...... !!!理解和工作就像一個魅力..!非常感謝你親愛的..! – LuckyBoy

+0

歡迎。這是我的榮幸 –

0

我認爲你需要添加一個附加表的產品之間的關係和尺寸

CREATE TABLE `relations` (
    `id_relation` int(11) NOT NULL AUTO_INCREMENT, 
    `n_product_id` int(11) NOT NULL, 
    `n_size_id` int(11) NOT NULL, 
    PRIMARY KEY (`id_relation`) 
) 
+0

謝謝親愛的.. !!簡單而甜蜜的回答..!理解得很好..!再次感謝你..!! – LuckyBoy