2017-10-12 164 views
1

我有表名“EMPLOYEECOUNT”与下面的数据SQL-SELECT查询结果中的所有12个月即使不存在数据

month , driver, engineer 
January , 100,200 
March , 300,400 
December , 500,600 

我想下面的结果

January , 100,200 
February , 0,0 
March , 300,400 
April , 0,0 
May , 0,0 
June , 0,0 
July , 0,0 
August , 0,0 
September , 0,0 
October , 0,0 
November , 0,0 
December , 500,600 

我曾尝试创建月份参考表和左外连接。但它的功效。

请帮助做出查询。

+1

您正在使用哪种[DBMS](https://en.wikipedia.org/wiki/DBMS)产品? Postgres的?甲骨文? “_SQL_”只是一种查询语言,而不是特定数据库产品的名称。 –

回答

0

其实左连接将按照您的期望工作。尝试与此查询:

select rm.month,e.driver, e.engineer 
from 
refmonth rm left join employeecount e 
on (e.month=rm.month); 

在这里,我把一个月参考表作为refmonth,如下图所示:

month 
January 
February 
March 
April 
May 
June 
July 
August 
September 
October 
November 
December 

所以查询结果将包含NULL,而不是0你提到。

2

用LEFT JOIN尝试此示例查询。

SELECT ref.month, emp.driver, emp.engineer 
FROM referencetable ref 
LEFT JOIN employeecount emp 
ON emp.month = ref.month; 
相关问题