[英]Product ID that has Two different category IDs in a catalog database
在產品目錄中,是否可能有一個產品屬於兩個不同類別的成員,但只有一個產品ID? 即使product_ID是產品表的主鍵,category_ID是類別表的主鍵?
例如,假設層次結構如下:
Department (i.e. Sweaters)
Category (i.e. Men's - cat 1, Women's - cat 2, children's - cat 3)
product_ID (i.e. unisex sweater)
並且您希望同一件毛衣產品既屬於男式毛衣又屬於女式毛衣。
所以這是我無法弄清楚的部分。 您是否必須將毛衣產品TWICE存儲在Product表中,每個表都具有不同的product_ID,以便它可以屬於兩個不同的類別? 如果是這樣,那么好像是一個查詢,例如:
SELECT
product_id,
prod_name,
prod_description
from
PRODUCTS
where
department_id = 1
and category_id IN (1, 2);
會在返回的列表中顯示毛衣(以及部門1中的其他所有內容以及類別1和2),但是會在列表TWICE中顯示-對兩個類別ID中的每一個都一次-對嗎? 我知道這樣做是有可能的,但是我看不出來如何做。
有人可以告訴我如何在一個產品數據庫中擁有一個屬於兩個不同類別的產品嗎?
您不想多次存儲產品信息,因此需要有一個與產品表和類別表相關的單獨表。 因此,如果產品#154在#4和#5類別中,則表將具有:
Product Category
154 4
154 5
然后,當您拉出類別中的所有項目時,將產品表加入該表即可獲得該類別中的所有產品。
因此,如果此新表名為ProductCategories,則用於提取某個類別(在此示例中為2)的產品的查詢將如下所示:
Select
*
from
Products as p
INNER JOIN ProductCategories as con p.ProductId = c.productid
where
c.categoryid = 2
如果要構建生產數據庫,則需要進一步研究一些關系數據庫概念。 如果做錯了,那將使某人(無論您是誰還是繼承您的人)的生活痛苦不堪。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.