小编Ada*_*den的帖子

如何选择表(A)中共享相同外键(itemId)的行,其中表中的多行具有表B中的值

抱歉标题,不知道如何描述没有例子.我试图在SQL Server 2008中实现属性的分面.

我有2张桌子.itemAttributes和facetParameters

在itemAttributes中假设以下值

id,   itemId,   name,      value
---------------------------------------
1     1         keywords   example1
2     1         keywords   example2
3     2         color      red
4     2         keywords   example1
5     2         keywords   example2
6     3         keywords   example2
7     3         color      red
8     3         color      blue
Run Code Online (Sandbox Code Playgroud)

在facetParameters中假设以下值

name      value
----------------------
keywords  example1
color     red
Run Code Online (Sandbox Code Playgroud)

我需要检索(可选:distinct)itemIds,其中给定的itemId包含包含facetParameters中所有值的行.

例如,给定facetParameters中的行,查询应返回itemId 2.此时我将在CTE中使用它,但是假设它们不支持许多功能,我可以解决这个问题,如果没有解决方案可以在CTE中工作.

多年来我做了很多sql,但是这一次真的让我很难过,而且我一直认为答案一定很简单.

sql t-sql

2
推荐指数
1
解决办法
2748
查看次数

标签 统计

sql ×1

t-sql ×1