2017-03-23 120 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