求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.运用存储过程来执行 --------------------编程问答-------------------- --------------------编程问答-------------------- 谢谢大家的回复,就没有高效算法代码实现的可能了么。。。。 --------------------编程问答-------------------- 没有高手么。。。 --------------------编程问答-------------------- 关注,我也在找类似问题的解决方法,还没有找到。 --------------------编程问答--------------------
用代码也没什么太高效的办法把,无非
for 循环读二维表
{
读到“3353 BBQ 04212 00071105 黑 35 1 ”
同样: 品牌 类别 货号 颜色 尺码 的行有没有 ,有就+1,没有就生成这个尺码列,获取你还要根据hscode或者别的判断是男装还是女装
} --------------------编程问答-------------------- 对了,只要判断同样: 货号 颜色 尺码 的行有没有
或者有的判断 同样: 货号 尺码 的行有没有 就可以了
--------------------编程问答-------------------- 绑定
补充:.NET技术 , C#