2016-07-22 3 views
0

연도 및 주식 코드를 입력 할 수있는 보고서를 작성하고 있습니다. 이 보고서에는 사용자가 선택한 1 월에서 12 월까지의 월간 판매량이 표시됩니다. 데이터가 없더라도 결과는 모두 12 개월이어야합니다.1 년에서 12 월까지 레코드를 나열하는 방법

set @yyyy = 2016; 

select date_format(bb.bill_date, '%m/%y') as date_1, sum(bb.Qty), stockcode 
from 
(
select 1 as srce, zz.qty Qty, zz.stkcode stockcode, ll.bill_date bill_date 
FROM posbila ll, posbilb zz 

WHERE 
    ll.bill_no = zz.receive_ID 
    AND 
    zz.stkcode >= '0' 
    AND 
    zz.stkcode <= 'zz' 
    AND 
    date_format(ll.billdate,"yyyy") = 2016 

group by zz.StkCode, ll.bill_date 
union select 2, 0, concat(@yyyy,'-01-31') 
union select 2, 0, concat(@yyyy,'-02-01') 
union select 2, 0, concat(@yyyy,'-03-31') 
union select 2, 0, concat(@yyyy,'-04-30') 
union select 2, 0, concat(@yyyy,'-05-31') 
union select 2, 0, concat(@yyyy,'-06-30') 
union select 2, 0, concat(@yyyy,'-07-31') 
union select 2, 0, concat(@yyyy,'-08-31') 
union select 2, 0, concat(@yyyy,'-09-30') 
union select 2, 0, concat(@yyyy,'-10-31') 
union select 2, 0, concat(@yyyy,'-11-30') 
union select 2, 0, concat(@yyyy,'-12-31') 
) as bb 

left join icstk kk on bb.stockcode = kk.stockcode 

Group By 1, date_1 

I have this query : 
date_1 stkcode Qty stockcode description 
02/16  COKE  13 COKE   COKE123 
03/16  COKE  112 COKE   COKE123 
04/16  COKE  6  COKE   COKE123 
06/16  COKE  5  COKE   COKE123 

하지만 난 뭔가 싶어 :

date_1 stkcode Qty stockcode description 
01/16    0 
02/16  COKE  13 COKE   COKE123 
03/16  COKE  112 COKE   COKE123 
04/16  COKE  6  COKE   COKE123 
05/16    0 
06/16  COKE  5  COKE   COKE123 
07/16    0 
08/16  COKE  5  COKE   COKE123 
09/16    0 
10/16    0 
11/16  COKE  15 COKE   COKE123 
12/16  COKE  25 COKE   COKE123 
+0

Hmm..looks http://stackoverflow.com/questions/38474796/how-to-select-data-of- 유사를 사용자가 선택한 모든 연도 중 비어있는 연도/38476280? noredirect = 1 # comment64399944_38476280. –

+0

암시 적 조인을 명시 적 조인으로 변경해야합니다. 사용자가 mysql에 태그 만 붙일 수있는 날짜를 설정하는 것에 관해서는 사용자가 코드에 접근해야하고 좋은 소리를 내지 않는 mysql에 액세스해야한다. PHP와 같은 프론트 엔드가 있는가? –

+0

VB 형식의 윈도우를 사용합니다. – Chloe

답변

1
You can add JAN to DEC month entry in tempTable and left join that table with your statement 
관련 문제