【发布时间】:2013-02-01 07:55:03
【问题描述】:
我有一个看起来像的表格
╔══════╦══════╦═══════╦═══════╦═══════╦═══════════════════╗
║ Key1 ║ Key2 ║ Data1 ║ Data2 ║ Data3 ║ DataNotImportant4 ║
╠══════╬══════╬═══════╬═══════╬═══════╬═══════════════════╣
║ Foo ║ Bar ║ 1 ║ 2 ║ a ║ 4 ║
║ Foo ║ Bar ║ 1 ║ 2 ║ a ║ 5 ║
║ Foo ║ Bar ║ 1 ║ 2 ║ b ║ 4 ║
║ Foo ║ Test ║ 1 ║ 2 ║ f ║ 4 ║
╚══════╩══════╩═══════╩═══════╩═══════╩═══════════════════╝
现在我将选择 Key1 和 Key2 的组合,其中 Data1 Data2 Data3 不同, 所以在这里我会得到 Foo Bar 作为结果,因为 Data3 在所有行中都不相同。 我怎样才能在没有光标的情况下归档它? 数据库是 SQL Server 2008
目前我使用光标。 我使用 group by 选择所有组合键并遍历列表,并使用从光标获得的键在我的字段上通过 select 进行分组。 问题是当有太多行时它变得非常慢。 所以我寻找一个基于集合的解决方案。
【问题讨论】:
-
@Sebastian 你需要展示你迄今为止所做的最初努力。顺便问一下,这个表是怎么生成的?