【问题标题】:One to Many Relationship - MySQL一对多关系 - MySQL
【发布时间】:2014-06-27 21:31:56
【问题描述】:

我看到很多资源解决了我的问题,但我仍然找不到明确的解决方案,可能是因为缺乏对这个概念的理解!

这里的故事:

有两个表: 产品
prod_id
产品名称
cat_fid

产品分类
cat_id
猫名

显然,cat_fid 是 Categories 表的外键。现在的问题:
产品 'Su'n 属于类别 - Hot, Round & Star
产品“月球”属于类别 - 寒冷、圆形、卫星、行星
产品“地球”属于类别 - 温暖、圆形、行星

现在我想调用类别 Round 下的所有产品,然后调用 Planet 或 Hot

prod_id prod_name cat_fid
1个太阳???
2 月亮???

cat_id 猫名
1 热门
2 冷
3轮
4. 温暖
5 行星
6星...等


感谢您的帮助

【问题讨论】:

    标签: mysql relational-database


    【解决方案1】:

    如果我正确理解您的问题,我认为您缺少第三个表,即产品到类别表。

    似乎您应该有一个带有 Product_Id 和 Product_Name 的 Product 表,一个带有 Category_Id 和 Category_Name 的 Category 表,然后是一个带有 Product_Id 和 Category_Id 字段的 Product_Category 表。

    select p.product_id, p.product_name, c.category_id, c.category_name 
    from product p
        join product_category pc on p.product_id = pc.product_id
        join category c on pc.category_id = c.category_id
    where c.category_name = 'Round'
    

    【讨论】:

    • 好的,现在我有了 prod_cat 表。然后 prod_id & cat_id 进入这个。现在 sun (1) 的 prod_id 具有 cat_id hot (1)。但它的 cat_id 也为 3 和 6。那么我该如何解决这个问题。示例:ProdID1 = CatID1,ProdID1=CatID2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 2014-12-11
    • 2011-04-05
    • 1970-01-01
    相关资源
    最近更新 更多