0
我有2個表:「prueba」是目錄與所有的說明和代碼的產品。MySQL的聯合銷售報告
Field Type Null Key Default Extra
cod varchar(10) NO PRI
nom varchar(100) NO
tip varchar(50) NO
des varchar(500) NO
pre double NO
can int(11) YES 1
cla varchar(3) NO
fcm varchar(20) YES
cmb char(1) NO 0
與「文塔」包含銷售:
Field Type Null Key Default Extra
id int(255) NO PRI auto_increment
can int(11) NO
tot double NO
fec varchar(30) NO
hor varchar(20) NO
cod_f varchar(10) YES MUL
per_f varchar(30) YES MUL
tdt varchar(15) NO
des double YES
com varchar(500) YES
cdv varchar(15) NO
cliente varchar(100) YES
fdc varchar(30) YES
local varchar(25) NO
trans varchar(10) YES
我需要做一個報告,顯示多少的某些代碼是在特定的商店出售。因此,在「venta」中,cod_f是代碼,can是銷售數量,tdt表示交易類型,local表示交易在哪裏進行。所以如果交易是一筆交易,tdt ='V'。以下查詢僅顯示在該商店中進行的交易的代碼。
select prueba.cod, ifnull(sum(venta.can),0)
from venta, prueba
where
venta.cod_f = prueba.cod and
tdt = 'V' and
local = 'XCSUR' and
yearweek(DATE_FORMAT(STR_TO_DATE(fec, '%d/%m/%Y'), '%Y-%m-%d')) between yearweek(curdate() - interval 8 week) and yearweek(curdate())
group by cod_f
order by CHAR_LENGTH(cod_f), cod_f;
我想是要表明,即使不屬於銷售展示他們爲0,F/E的部分代碼:
我的查詢顯示:
2010 1
2012 5
2013 2
2022 1
而省略中間代碼。我想要的是這樣的:
2010 1
2011 0
2012 5
2013 2
2014 0
2022 1
在此先感謝。
第二個顯示我正在查找的結果。謝謝。 – user3063952 2014-11-06 18:57:45