我的数据库中有一个Products表和一个ProductionReport表。从连接表中的条件中选择一个表中的所有行
ProductionReport表捕获每个产品的每周生产信息。我的应用程序将报告这些信息。
表结构
ProductionReport
productionreportid,产品ID,日期,数量
1,1,2013年4月8日,50
2,2,2013年4月8日,12
产品
产品ID,产品名称
1,护肤霜
2,花生油
3,浴盐
4,洗发水
我的页面使用GridView控件,将列出所有产品(SELECT productid, productname FROM Products
)和加入ProductionReport表,以便显示用户可以更新的一周中的所有产品和生产值的列表。
我的问题是填充GridView的SQL查询。它目前只得到行,其中有两个表中加入一个值:
SELECT pro.productname, pr.productionreportid, IFNULL(pr.qty, 0) qty
FROM Products pro
LEFT JOIN ProductionReport pr ON pro.productid = pr.productid
WHERE DATE(pr.date) = '2013-04-08'
因此,鉴于上述数据,我期待得到以下结果集回
护肤霜,1 ,50
花生油,2,12
浴盐,0,0
洗发水,0,0
不幸的是,所有我回来的是第2排。我相信这是因为WHERE子句针对连接表中的列。如果是这样,这显然是我的逻辑严重缺陷,但我不知道该怎么办。
有什么建议吗?
怎么样......从来不知道你能做到这一点:)谢谢!完美工作 – Ortund 2013-04-09 08:08:49
没问题:)干杯 – Stephan 2013-04-09 08:22:14