这个问题,让我郁闷了半天。
问题是这样的,我要求出所有部门所发布的文章数;
每个文章都会属于一个部门;部门id的列名是dep_id;
SQL语句如下
select dep_id,count(*) from article group by dep_id
意思很简单,按部门Id,分组计算;输出结果
dep_id
----------- -----------
69 88
92 85
115 29
138 31
77 74
107 45
85 88
62 86
146 29
注意,第一个数据列名称是dep_id,第二个数据列没有名称;这也很正常,对吧(问题就出在这里),先不说它;
然后呢,我要知道哪个dep_id对应哪个部门名称,自然要用一个外联接,部门表名为depart;
SQL语句如下:
select * from depart as a
left join
(select dep_id,count(*) from article where art_atit!='' group by dep_id) as b
on a.dep_id=b.dep_id
上面的语句看样子是没有问题;左外接联接,联接一个查询结果b;结果一执行,报错了,错误信息:
消