我是SQL的新手,但已经很容易陷入麻烦。

我有一个名为Sales的表,其中包含与销售相关的自然字段,其中包括一个称为Salesman的字段。

我还有另一个表叫Salesmen,只包含销售员姓名。

我想要一个报告,该报告计算每个销售员的所有销售额,包括由于销售不足而未在“销售”表中提及的每个销售员的结果。

以下代码可以正常工作,除了表现欠佳的推销员不会显示之外,只会显示那些已经卖出东西的人。

SELECT salesman,
       count(*) as nmbr
  FROM Sales
        JOIN Salesmen
              ON Sales.salesman = Salesmen.name
 GROUP BY Salesmen.name
 order by nmbr;


我相信右外连接将解决此问题,但我使用的是SQLITE不允许这样做。

有什么解决方法的主意,以便我找出哪个推销员什么都没卖?

最佳答案

SQLite是否支持LEFT外部联接?

 SELECT salesmen.name
        count(sales.salesman) as nmbr
 FROM Salesmen
    LEFT JOIN Sales ON Sales.salesman = Salesmen.name
 GROUP BY Salesmen.name
 ORDER BY nmbr;

09-13 05:59