使用“未知”列值选择组

时间:2009-12-02 12:05:46

标签: sql database tsql

我有一个包含(id,name,Class)等记录的大表。

我希望能够明智地进行“班级”操作..

但我不知道Class

的所有可能值是什么

目前我要做的是使用2个查询:

查询1:结果=从myTable中选择不同的类;

查询2:对于结果中的每个值,
   classWiseRows = select * from myTable,其中Class = value;

然后我正在做

表示Q1.result中的每个值 {
  classRows = Q2其中Class = value;
doOperation(classRows);
}

我希望能够将这两个查询合二为一,以避免两次访问数据库。

即时通讯使用ADO.net,.net 2.0。

3 个答案:

答案 0 :(得分:1)

从第一个查询中获取整个结果集到数据表中

select distinct class from myTable;

然后你可以使用数据表的Select Method过滤你的记录。

您还可以使用DataView RowFilter

完成任务

如果您使用更高版本说3.5+,我会推荐LINQ

希望这有帮助

答案 1 :(得分:0)

您可以按Class执行订单,然后在遍历时对列表进行分区。

答案 2 :(得分:-1)

也许像

select * from myTable where class in (select distinct class from myTable)