Mysql从另一个表记录中找到一个表,并在此表中查找特定记录

时间:2013-10-14 22:13:26

标签: php mysql sql

我是Mysql的新手,我有一个复杂的问题: 我在这个表中有一个带“Shops”名称的表,有一个ShopID列。记录看起来像这样: Shop_001 Shop_002 ...

每个“shopID”指的是一个具有此名称的新表,例如,有一个Shop_0001名称的表。在此表中有“partnumber”列,表示本店中可用的部件。

我将特定的部件号发送到sql server,我想检查“Shops”表中的所有商店,并在“Shop_xxxx”表中返回具有此特定部件号的行。 不幸的是我不知道如何开始这个。有人可以帮我提一些指示或其他任何内容吗?

1 个答案:

答案 0 :(得分:1)

你正在寻找多对多的关系。所以你只需要3张桌子

1表是商店列表 1表是产品清单 和1表是哪些商店有哪些产品的列表。像这样

table1
    id|shops
    ------
    1  shop1
    2  shop2
    3  shop3


table2
    id|products
    ------
    1  prod1
    2  prod2
    3  prod3
    4  prod4
    5  prod5

table3
    id|shop_id|prod_id
    -------------------
    1   2        3
    2   2        1
    3   2        2
    4   1        3
    5   1        4
    6   1        5
    7   3        2

因此,每次将产品添加到商店时,都会在表3中添加一个条目。这将允许您按商店或产品查询,您只需要3个表。

谷歌查询了多对多的关系,了解如何获取shop1的产品列表或有产品4的商店列表。