根据我的问题标题,我的 Access 数据库结构如下:
类别
categoryid categoryname
1 one
2 two
3 three
产品表:
productid productname categories
1 one 1,2,3
2 two 3
3 three 1,2
当我的categoryid为1时,我不知道如何选择具有多个类别的产品。因为当我使用 In 运算符时,我收到一些错误..
Select * from product where categories In (categodyid) because cannot compare a collection with one value.
我被困在这里了!请帮我!谢谢。
最佳答案
首先,您的表格没有标准化。查看产品表中的类别列。每个单元格应该只有一个值。通过允许多个值,您将面临各种问题的风险,包括更新/插入异常以及您现在所看到的情况。您还使得执行选择和其他操作变得非常困难。相反,请考虑使用以下示例标准化您的表:
类别
categoryid categoryname
1 one
2 two
3 three
产品
ProdductId ProductName
4 prod1
5 prod2
6 prod 3
Category_Prod
CategoryId ProductId
1 3
1 4
2 3
第三个表是纠正多对多模式的一种方法。如果您对如何执行此操作或如何使用它有任何疑问,请告诉我
关于asp.net - 如何选择多个类别的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15831563/