对从表的统计
两个表,一个是workflow
设置外键为workflow的id对应node的wfid
id name content
11 文件 文件审批系统
12 订货 订单购物系统
13 公文 公文系统
一个是node
id wfid orederid name note
7 11 1 制作文档 NULL
8 11 2 上传文档 NULL
9 11 3 审批文档 NULL
10 11 4 通过备案 NULL
11 11 5 通知结果 NULL
12 12 1 填写表单 NULL
请问如何得到这样的试图。
idnamecontentnodecountordermax
其中id,name,content对应workflow的相应字段
nodecount是 node表node.wfid=workflow.id的总行数
(如果没有node.wfid=workflow.id的行,则显示为0)
ordermax是 node表node.wfid=workflow.id所有行中,orderid最大的node.orderid
(如果没有node.wfid=workflow.id的行,则显示为0)
[ 本帖最后由 brilon 于 2007-4-7 19:12 编辑 ] select a.id,a.name,a.content,count(b.wfid),max(b.orderid) from workflow a left join note b on a.id=b.wfid group by a.id;
不过这样出来的结果,如果没有node.wfid=workflow.id的行,max()返回null 我知道该怎么做了。。
我就是因为那个NULL的问题一直不知道怎么解决。。 找到解决方法了.
select a.id,a.name,a.content,count(b.wfid),ifnull(max(b.orderid),0) from workflow a left join note b on a.id=b.wfid group by a.id;
ifnull(expr1,expr2)
如果expr1非null,返回expr1,否则返回expr2
正解。。。hjack你太有才了。。
页:
[1]