zoukankan      html  css  js  c++  java
  • 没有为第 2 列(属于 'b')指定列

    这个问题,让我郁闷了半天。

    问题是这样的,我要求出所有部门所发布的文章数;
    每个文章都会属于一个部门;部门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;结果一执行,报错了,错误信息:

  • 相关阅读:
    SQL语句大全
    网页常用小技巧
    卡通时钟代码
    舒服的颜色2
    静态代码
    Hibernate工作原理
    SQl多表查询优化 高效率SQL语句
    Hibernate API、对象状态、HQL、Criteria
    MySQL 学习笔记
    intramart知识
  • 原文地址:https://www.cnblogs.com/pipizhu/p/1625333.html
Copyright © 2011-2022 走看看