我的数据库中有四个表格(备注,费用,类别和项目)。
项表将在特定类别ID上包含很多项目 items表有字段
id(primary key), item name(text), unit(text), category id(foreign key)
类别表只有两个字段 类别表有字段
id(primary key), cat_id(integer), category name(text)
。
备注表用于记录每个购物单。 笔记表有字段
note_id(primary key), date(DATE), total cost(integer)
。
费用表用于使用note id作为外键存储所购买的商品及其在特定购物单下的相应数量和价格 费用表有字段
id(primary key), note_id(foreign key), quantity(integer), price(integer), item_name(text)
当我输入起始日期,日期和特定类别时,我需要在该类别下购买的日期和之间的项目。 我需要一个将输出为:
的查询ITEM NAME TOTALQTY TOTALPRICE
carrot 5kg 500
任何人都可以帮我解决问题吗?
答案 0 :(得分:3)
试试这个
select A.name, sum(C.unit), A.unit, sum(C.price)
from items as A
INNER JOIN categories as B ON A.category=B._id
INNER JOIN expenses as C ON A.name=C.item_name
INNER JOIN notes as D ON C.Note_id=D._id
where
D.date1 between '2012-01-01' and '2012-03-31' and B.name='Vegetables'
group by
A.name, A.unit