排序问题

wsbcyy 2012-03-27 11:08:40
我们公司的请假统计查询结果如下:
序号 网点 员工 出差 婚假 病假 产前体检 事假 年假 抵扣年假 合计
1 大岭山站 李
2 广州石井站 郑
3 象屿站 周
4 泉州丰泽站 徐
5 事业部 陈
6 事业部 陈
7 财务部 周
8 清水河站 王
9 广州石井站 张
10 杏林站 魏
11 杏林站 翁
12 龙岩站 颜
13 漳州龙文站 李
14 新塘站 康
15 财务部 张
16 事业部 何
17 象屿站 洪
以上是一个表格.现在我要按照网点来排序应该怎么做?就是所有相同网点的排在一起
...全文
78 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
netstudy0105 2012-03-27
  • 打赏
  • 举报
回复
正解[Quote=引用 6 楼 chinajiyong 的回复:]

还没写完
SELECT 网点 FROM table group by 网点 ORDER BY 网点
[/Quote]
EnForGrass 2012-03-27
  • 打赏
  • 举报
回复
还没写完
SELECT 网点 FROM table group by 网点 ORDER BY 网点
tan598121925 2012-03-27
  • 打赏
  • 举报
回复
select * from 表 order by 网点
_萧萧 2012-03-27
  • 打赏
  • 举报
回复
Order by 网点
bdmh 2012-03-27
  • 打赏
  • 举报
回复
如果数据在datatable中,那么datatable的DefaultView.Sort也可以
EnForGrass 2012-03-27
  • 打赏
  • 举报
回复
select 网点 from table group by 网点
bdmh 2012-03-27
  • 打赏
  • 举报
回复
select * from xxxx order by 网店
wsbcyy 2012-03-27
  • 打赏
  • 举报
回复

#region 请假统计报表
public List<System.Data.DataTable> QWorkFlow(Nullable<DateTime> BeginDate, Nullable<DateTime> EndDate, string OfficeGroup, string UserName, bool ExactSearchUserName, string IsValid, string LeftPost, string Post)
{
Bf.Common.Data.Filter filter = new Bf.Common.Data.Filter();
if (!string.IsNullOrEmpty(OfficeGroup)) OfficeGroupTrans.GetCode(ref OfficeGroup);
//1、跨月:哪一个月就属于哪一个月的
filter.Where = "";
string userUnit = Unit.GetLikeQueryWhere(UserName, ExactSearchUserName, "UserName");
if (!string.IsNullOrEmpty(userUnit)) filter.Where += userUnit + " And ";

if (!string.IsNullOrEmpty(OfficeGroup)) filter.Where += "OfficeID=" + OfficeGroup + " And ";

if (!string.IsNullOrEmpty(IsValid)) filter.Where += " IsValid=" + IsValid + " And ";
if (!string.IsNullOrEmpty(LeftPost)) filter.Where += " LeftPost=" + LeftPost + " And ";
if (!string.IsNullOrEmpty(Post))
{
filter.Where += " Post=" + Post + " And ";
}
filter.Where = Bf.Common.Basic.Func.RTrim(filter.Where, " And ");

filter.Where = " Exists(Select 1 From HC_Employee Where ID=a.Creator And " + filter.Where + ") And ";

string begindateFilter = "";
string enddateFilter = "";
if (BeginDate.HasValue)
{
begindateFilter += "DATEDIFF(Day, @BeginDate, BeginDT)>=0 And ";
enddateFilter += " DATEDIFF(Day, @BeginDate, EndDT)>=0 And ";
filter.Parameters.Add(new System.Data.SqlClient.SqlParameter("@BeginDate", System.Data.SqlDbType.DateTime));
filter.Parameters[filter.Parameters.Count - 1].Value = BeginDate.Value;
}

if (EndDate.HasValue)
{
begindateFilter += "DATEDIFF(Day, @EndDate, BeginDT)<=0 And ";
enddateFilter += " DATEDIFF(Day, @EndDate, EndDT)<=0 And ";
filter.Parameters.Add(new System.Data.SqlClient.SqlParameter("@EndDate", System.Data.SqlDbType.DateTime));
filter.Parameters[filter.Parameters.Count - 1].Value = EndDate.Value;
}
begindateFilter = Bf.Common.Basic.Func.RTrim(begindateFilter, " And ");
enddateFilter = Bf.Common.Basic.Func.RTrim(enddateFilter, " And ");
if (!string.IsNullOrEmpty(begindateFilter))
{
filter.Where += "((" + begindateFilter + ") Or (" + enddateFilter + ") ) And ";
}
filter.Where += " OrderFlag='Q' And ";

filter.Where = Bf.Common.Basic.Func.RTrim(filter.Where, " And ");

System.Data.DataTable WorkFlowTable = this.FM_FeeDetailAdapter.ReceivablePayableAccount("Select Distinct FlowFlag,(select Data From sys_codeTableList where CodeID=(Select ID from Sys_CodeTable where Code='flowflag') And Code=FlowFlag) as FlowFlagName From Sys_WorkFlow a {0}", filter);
if (WorkFlowTable == null || WorkFlowTable.Rows.Count == 0) return null;


List<object> sumlist;
List<string> list = new List<string>();
string sql, sqlByOrder, feeName, expression = "";
int _index = 1;

sql = "Select RPA.Creator,(Select (Select Name From HC_Office where ID=h.OfficeID) From HC_Employee h Where ID=RPA.Creator) Office,(Select UserName From HC_Employee Where ID=RPA.Creator) UserName";

list.Add("");
list.Add("网点");
list.Add("员工");

sqlByOrder = " select Creator";

foreach (System.Data.DataRow row in WorkFlowTable.Rows)
{
feeName = "FlowFlag" + _index.ToString();
list.Add(row["FlowFlagName"].ToString());
//sqlByOrder += ", Sum(Case FeeName When '" + row["FeeName"].ToString() + "' Then IsNull(FeeAmount, 0) else 0 end) as " + feeName;
sqlByOrder += ", (Case When FlowFlag='" + row["FlowFlag"].ToString() + "' Then TransportUser.GetWorkFlowDayByQ(a.ID,'" + BeginDate.Value.ToString() + "','" + EndDate.Value.ToString() + "') end) as " + feeName;
sql += ", sum(IsNull(" + feeName + ",0)) as " + feeName;
expression += "ISNULL(" + feeName + ", 0)+";
_index++;
}

sqlByOrder += " from Sys_WorkFlow a {0} ";

//list.Add("请假天数");






sqlByOrder = sql + " From (" + sqlByOrder + ") as RPA Group by Creator";

sumlist = new List<object>();

sumlist.Add(null);
sumlist.Add("");
sumlist.Add("");




System.Data.DataTable tableByOrder = this.FM_FeeDetailAdapter.ReceivablePayableAccount(sqlByOrder, filter);
if (tableByOrder != null && tableByOrder.Rows.Count > 0)
{

expression = Bf.Common.Basic.Func.RTrim(expression, "+");
tableByOrder.Columns.Add("sumcolumn", typeof(decimal), expression);
list.Add("合计");

for (int i = 1; i < _index; i++) sumlist.Add(tableByOrder.Compute("Sum(FlowFlag" + i.ToString() + ")", null));
sumlist.Add(tableByOrder.Compute("Sum(sumcolumn)", null));
tableByOrder.Rows.Add(sumlist.ToArray());


foreach (System.Data.DataColumn col in tableByOrder.Columns)
{
col.Caption = list[col.Ordinal];
}
}

List<System.Data.DataTable> listOrder = null;
listOrder = new List<System.Data.DataTable>();

if (tableByOrder != null && tableByOrder.Rows.Count > 0) listOrder.Add(tableByOrder);

return listOrder;
}
#endregion
如果我要在这段代码中在网点前面加一个组织机构,然后按照网点排序应该怎么写
[Quote=引用 3 楼 bdmh 的回复:]
如果数据在datatable中,那么datatable的DefaultView.Sort也可以
[/Quote]

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧