小编Sir*_*lot的帖子

SQL:查找匹配多行的唯一多列值三元组?

TL;DR:使用 Transact-SQL/SQL Server,如何找到表中与另一列中的某些值集的列值(ColA、ColB、ColC)的单个“解决方案”三元组相匹配的行?

更多信息:假设我有一个与此类似的表(为了获得焦点而删除了 ID 列):

火焰离子化检测器 可乐 科尔B 科尔C
1 1 1 1
1 2 2 2
2 1 1 1
2 3 3 3
3 1 1 1
3 2 2 2

我试图找到 FID 的每个值都存在的 (ColA、ColB、ColC) 的共同三元组值。在此示例中,(1, 1, 1) 将是该三元组,因此我想返回类似以下内容的内容:

火焰离子化检测器 可乐 科尔B 科尔C
1 1 1 1
2 1 1 1
3 1 1 1

感觉应该是某种使用的集合操作intersect,但我对如何最好地以声明方式对其进行建模和编码感到困惑。想法?非常感谢您的帮助!

澄清:几点希望有助于解释我的问题。

  1. 我正在寻找一个查询来查找三元组可能是什么。我不一定知道数据中的内容。
  2. 三元组值不依赖于 FID 值,反之亦然。我的示例恰好使用了与 FID 值之一匹配的 (1,1,1)。数据可能看起来更像是:
火焰离子化检测器 可乐 科尔B 科尔C
13 1 …

sql-server t-sql sql-server-2019

4
推荐指数
1
解决办法
1369
查看次数

标签 统计

sql-server ×1

sql-server-2019 ×1

t-sql ×1