0

假设我有一个Products主表,还有另一个保存ProductIDs列表的表。

  Table name: Products  
 --------------------
 ProductID, Title, Price  
       1, Title 1, 12.00  
       2, Title 2, 15.00  
       4, Title 4, 11.50  
       8, Title 8, 13.89  
       11, Title 11, 12.00  

     Table name: ListOfProducts  
      --------------------------
       SomeID, ProductIDs  

         34, 4,8,1  
         35, 8,10,2  

现在,您可以看到在表格中ListOfProducts,记录为SomeID=35,产品列表为8,10,2ProductID 10由于它不在主表 Products 中,我如何使用 SQL 快速找出 invalid ?

我的程序实际上是经典的ASP(旧版),数据库是 MS SQL。我可以在 ASP 中循环遍历记录ListOfProducts,但是如何使用快速 SQL 来查找任何无效的ProductID?在这种情况下,当程序循环记录35时,脚本应该返回ProductID 10

这看起来真的很简单。但我就是想不出一个好的解决方案。这可以做到吗?请帮忙!

谢谢你。

4

1 回答 1

1

您不应该将 ID 存储为逗号分隔的列表,这看起来更像是多对多关系。你应该有一个像这样的表:

SomeID | ProductID
-------------------
34     | 4
34     | 8
34     | 1
35     | 8
35     | 10
35     | 2

如果您真的必须使用逗号分隔列表,那么您需要创建某种拆分功能

于 2013-03-08T02:10:42.997 回答