我想创建一个接受类别和特定产品的杂货清单表。
例如:我添加到我的购物清单:
我有产品表与制造商(参考表),类别表w / SubCategoryId。
我希望用户将类别或产品输入到杂货列表中,但要知道输入的项目是类别或产品。请指教。
非常感谢任何帮助。
答案 0 :(得分:1)
例如
CREATE TABLE grocery_list (
[groceryItem] varchar(100)
);
Insert into grocery_list ([groceryItem]) values ('(c)Fruit')
Insert into grocery_list ([groceryItem]) values ('(p)Fuji Apple')
Insert into grocery_list ([groceryItem]) values ('(c)Shampoo')
Insert into grocery_list ([groceryItem]) values ('(c)Dove Energize Shampoo')
并访问您的表子串前两个字符以检查您的项目类型
Select [item] = case when substring(groceryItem,2,1) = 'c' then
right(groceryItem,len(groceryItem) - 3) + ' (Category)'
when substring(groceryItem,2,1) = 'p' then
right(groceryItem,len(groceryItem) - 3) + ' (Product)'
end
from grocery_list
这将为您提供以下结果
**item**
Fruit (Category)
Fuji Apple (Product)
Shampoo (Category)
Dove Energize Shampoo (Category)
答案 1 :(得分:0)
我会创建两个单独的列,一个用于类别,另一个用于产品:
CREATE TABLE grocery_list (
'category_id' INTEGER NULL FOREIGN KEY categories 'id',
'product_id' INTEGER NULL FOREIGN KEY products 'id',
...
);
条目只会在两列中的一列中放置一个值,而另一列则为NULL。然后你可以像这样查询你的购物清单:
SELECT * FROM grocery_list, categories, products
WHERE categories.id=grocery_list.category_id
AND products.id=grocery_list.product_id;