【发布时间】:2013-06-16 21:41:04
【问题描述】:
我正在使用SQL Server 2012。我有商店,不同的卖家放置他们的商品。不同的卖家可以放置相同的商品。例如。两个卖家可以将“iPhone”作为文章。我需要在商店里找到独特的商品。
我有两张桌子:
- ArticlePlacedBySeller {Id, Description, ...}
- LinkBetweenArticles {Id, Article1, Article2 }
例如,如果三个卖家放置了“iPhone”和一个“iPhone 2”,我们将看到:
ArticlePlacedBySeller:{Id:1,描述:'iPhone super'}; {2, 'iPhone 最佳'}; {3, 'iPhone 新品牌'}; {4,“iPhone 2”}
LinkBetweenArticles:{Id:1,Article1:1,Article2:2}; {2, 2, 1}; {3, 2, 3}; {4, 3, 2}; {5, 3, 1}; {6, 1, 3};
如您所见,只有前三种商品相互关联。第四篇文章未链接。现在我们只需要从 ArticlePlacedBySeller 中选择这 3 种商品中的一种(无论具体是什么)和 1 种未通过部分描述链接的商品(其中 Description like '%...%')。 (此脚本的结果必须是:
ArticlePlacedBySeller:ID:1,ID:4
(两个实体)。
您能否建议使用 SQL 查询来执行此操作?
附:请不要建议更改数据库结构并添加 UniqueArticle 表。我不能这样做,这没有用,因为商店里的商品非常动态地变化。
【问题讨论】:
标签: sql sql-server