各位好,向大家请教ASP.NET中的动态显业列问题.
具体内容是:数据库表中的字段包括:产品名称,产品类别,产商类别,销售人员,销售量,销售时间
查询中的筛选条件为:产品类别,产商类别,销售时间段
具体要求是:
现需要根据筛选条件查找出产品的销售量,
并且选择某一段销售时间(长度不固定),
控件能根据时间段的长度动态生成相应的列数.
最终查询的结果形如下表(显示的时间根据具体的月份来确定)
产品名称 产品类别 产商类别 销售人员 3月1日 3月2日 3月3日 …… (后面的时间为动态)
在oracle中,这样的查询语句怎样写?
如果哪位高手开发过类似的功能,希望能帮忙解决,非常非常的感谢!!!!!!!!!!!!!!
------解决思路----------------------
参考oracle行转列(动态行转不定列)
------解决思路----------------------
C#版的,重点参考下思路,mydb是我们这公用的一个类
private DataTable ReadData(string TName, string A, string B, string C, string bvalue, string SqlText, string value = "1", bool DescFlag = false)
{
DataTable tb = mydb.fill(new DataTable(), SqlText);
string STR = "SELECT " + bvalue;
DataRow DR = null;
foreach (DataRow DR_loopVariable in tb.Rows) {
DR = DR_loopVariable;
STR += ",SUM(DECODE(" + A + ",'" + DR[0] + "'," + value + ")) AS " + DR[1];
}
STR += ",SUM(" + value + ") AS 合计 from " + TName + " group by " + B + " order by " + C;
if (DescFlag)
STR += " desc";
tb.Dispose();
tb = mydb.fill(new DataTable(), STR);
return tb;
}