当前位置:编程学习 > C#/ASP.NET >>

求C# 中交叉表实现算法

目前需要一个算法实现交叉表
原二维表示例:
  id   品牌 类别 货号 颜色 尺码 数量   
  3353 BBQ 04212 00071105 黑 35 1   
  3353 BBQ 04212 00071105 黑 36 1   
  3353 BBQ 04212 00071105 黑 37 1   
  3353 BBQ 04212 00071105 绿 34 1   
  3353 BBQ 04212 00071105 绿 35 1   
  3353 BBQ 04212 00071105 绿 37 1   
  3353 BBQ 04212 00071205 灰 34 1   
  3353 BBQ 04212 00071205 灰 36 1   
  3353 BBQ 04212 00071205 灰 37 1   
  3353 BBQ 04212 00201107 白 37 2   
需达到效果示例:
  id 品牌 类别 货号 颜色 女34 女35 女36 女37 女38 女39   
  3353 BBQ 04212 00071105 黑 0 1 1 1 0 0   
  3353 BBQ 04212 00071105 绿 1 1 0 1 0 0   
  3353 BBQ 04212 00071205 灰 1 0 1 1 0 0   
  3353 BBQ 04212 00201107 白 0 0 0 2 0 0 
--------------------
以前考虑过SQL语句的方式实现,因为现在是在两个数据集之间处理,不能直接对表操作。现在想得到一个代码编写一个动态方法,实现功能如下:
1)通过二维表生成交叉表,并填充数据显示
2)将交叉表数据还原成二维表格式

不知道各位大侠有没好的算法逻辑,最好兼顾效率,谢谢! --------------------编程问答-------------------- 表设计得冗余了 --------------------编程问答-------------------- SQL的话还好办,可惜你现在不是,用代码去实现效率肯定低,我建议LZ还是建临时表再用SQL实现吧~ --------------------编程问答-------------------- 这个关注一下

以往也都是直接从数据库SQL下手的 --------------------编程问答-------------------- 两层循环,
外层的是不同货物,内层做同一货物的不同尺码.内层的数据一条条加到列(column)中去
外层的还是row --------------------编程问答-------------------- 建议建立视图,用视图去实现。 --------------------编程问答-------------------- 1.可以将两个表建立关联,当一个表中的数据改变时另一个表中的数据也响应的改变
2.运用存储过程来执行 --------------------编程问答--------------------
引用 6 楼 mjjzg 的回复:
1.可以将两个表建立关联,当一个表中的数据改变时另一个表中的数据也响应的改变 
2.运用存储过程来执行
--------------------编程问答-------------------- 谢谢大家的回复,就没有高效算法代码实现的可能了么。。。。 --------------------编程问答-------------------- 没有高手么。。。 --------------------编程问答-------------------- 关注,我也在找类似问题的解决方法,还没有找到。 --------------------编程问答--------------------
引用楼主 ghost_xxx 的帖子:
目前需要一个算法实现交叉表 
原二维表示例: 
  id  品牌 类别 货号 颜色 尺码 数量  
  3353 BBQ 04212 00071105 黑 35 1  
  3353 BBQ 04212 00071105 黑 36 1  
  3353 BBQ 04212 00071105 黑 37 1  
  3353 BBQ 04212 00071105 绿 34 1  
  3353 BBQ 04212 00071105 绿 35 1  
  3353 BBQ 04212 00071105 绿 37 1  
  3353 BBQ 04212 00071205 灰 34 1  
  3353 BBQ 04212 00071205 灰 36 1  
  3353 BBQ 04212 …


用代码也没什么太高效的办法把,无非

for 循环读二维表
{
  读到“3353 BBQ 04212 00071105 黑 35 1  ”
  同样: 品牌 类别 货号 颜色 尺码 的行有没有  ,有就+1,没有就生成这个尺码列,获取你还要根据hscode或者别的判断是男装还是女装
  
} --------------------编程问答-------------------- 对了,只要判断同样: 货号 颜色 尺码 的行有没有 
或者有的判断 同样: 货号  尺码 的行有没有 就可以了
--------------------编程问答-------------------- 绑定
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,