我正在使用SQL Server 2012
. 我有商店,不同的卖家放置他们的商品。不同的卖家可以放置相同的商品。例如。两个卖家可以将“iPhone”作为文章。我需要在商店里找到独特的商品。我有两张桌子:
- ArticlePlacedBySeller {Id, Description, ...}
- LinkBetweenArticles {Id, Article1, Article2 }
例如,如果三个卖家放置了“iPhone”和一个“iPhone 2”,我们将看到:
ArticlePlacedBySeller : {Id: 1 , Description:'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 查询来做到这一点吗?
PS 请不要建议更改数据库结构并添加 UniqueArticle 表。我不能这样做,这是无用的,因为商店中的商品非常动态地变化。