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