table1
id    depnumber  depname
1 BGS 办公室
2 RSK 人事教育科
3 JCK 计划财务科
4 SZK 税政科
5 XXK 信息管理科
6 ZGK 征收管理科
7 JCS 监察室
8 GH 工会
9 JCJ 稽查局
10 001 第一税务分局
11 002 第二税务分局
12 003 第三税务分局
13 004 第四税务分局
14 005 第五税务分局
15 006 第六税务分局
16 007 第七税务分局
17 008 第八税务分局
18 009 第九税务分局
另外一个查询:
SELECT sqdw,sum(zongjia) as num FROM shenqing INNER JOIN hcly ON shenqing.id=hcly.shenqingid WHERE shenqingtype='耗材' and 1=1 group by sqdw order by sqdw desc
这个查询分组后排序是按照sqdw排序的,sqdw的值和table1中depname的值是一样。我想上面的查询后排序按照table1中的ID来排序,不知道怎么实现,请大家帮忙。

解决方案 »

  1.   

    --try
    SELECT sqdw,sum(zongjia) as num FROM shenqing INNER JOIN hcly ON shenqing.id=hcly.shenqingid
    left join table1 on table1.depname=sqdw 
    WHERE shenqingtype='耗材' and 1=1 group by sqdw,table1.id order by table1.id desc
      

  2.   

    Microsoft JET Database Engine 错误 '80040e14' 
    语法错误 (操作符丢失) 在查询表达式 'shenqing.id=hcly.shenqingid left join department on department.depname=sqdw' 中。
      

  3.   

    解决了,谢谢你的提醒
    不要用left join连接,直接这样
    sql2="SELECT sqdw,sum(zongjia) as num FROM department,shenqing INNER JOIN hcly ON shenqing.id=hcly.shenqingid  WHERE shenqingtype='耗材' and department.depname=sqdw"
    WHERE shenqingtype='耗材' and 1=1 group by sqdw,department.id order by department.id desc不过要谢谢你的提醒,我一开始想这样连接,但不知道group by sqdw 后面要加department.id不加就会报错,为什么要加department.id这个搞不清楚
      

  4.   

    后来上不了网,有group 时select只能是by后的内容或组合,或其它的聚合形式