Sql 使用未知列值选择组
我有一个很大的表,上面有id、name、Class等记录 我希望能在课堂上做手术 但我不知道课堂上所有可能的价值观是什么 目前我要做的是使用2个查询: 查询1:结果=从myTable中选择不同的类 查询2:对于结果中的每个值, classWiseRows=从myTable中选择*,其中Class=值 那我要做什么 对于Q1.result中的每个值 { classRows=Q2,其中Class=value; 多行; } 我希望能够将这两个查询合并在一个中..以避免两次到DBSql 使用未知列值选择组,sql,database,tsql,Sql,Database,Tsql,我有一个很大的表,上面有id、name、Class等记录 我希望能在课堂上做手术 但我不知道课堂上所有可能的价值观是什么 目前我要做的是使用2个查询: 查询1:结果=从myTable中选择不同的类 查询2:对于结果中的每个值, classWiseRows=从myTable中选择*,其中Class=值 那我要做什么 对于Q1.result中的每个值 { classRows=Q2,其中Class=value; 多行; } 我希望能够将这两个查询合并在一个中..以避免两次到DB 我正在使用ADO.ne
我正在使用ADO.net、.net 2.0。您可以按类排序,然后在遍历列表时对列表进行分区。可能类似于
select * from myTable where class in (select distinct class from myTable)
将第一次查询的整个结果集放入datatable
select distinct class from myTable;
然后,您可以使用datatable的
您还可以通过使用
如果你使用更高的版本,比如说3.5+,我会推荐你
希望这有助于where子句始终正确。您正在基于类中显示的值构造列表,然后将结果限制为在列表中包含类值。这不应该与“按类分组”相同。但在.net代码中,我将一次获取表中的所有行,而不是类组。我当前为每个不同的“类”执行一次DB访问。当前为每个不同的类执行一次DB访问。