我有一张桌子,每小时检查一次3天的数据,有几台不同的机器可以在一段时间内在特定的瓶子上工作,在三天的时间里可能会有几个不同的瓶子继续运行那台机器。我想显示第一瓶生产期间的结果,然后是第二瓶的结果,例如
Rows ------------------------------------ Columns -------------------------------------
Machine Product Product Start 18/01/2010 18/01/2010 18/01/2010 18/01/2010
Code Date 05:00 06:00 07:00 08:00
1 Beer Bottle 10256 17/01/2010 89 89
07:00
2 Wine Bottle 10376 18/01/2010 14 50
07:00
但我看起来像这样,它保留了以前的瓶子数据:
Machine Product Product Start 18/01/2010 18/01/2010 18/01/2010 18/01/2010
Code Date 05:00 06:00 07:00 08:00
1 Beer Bottle 10256 17/01/2010 89 89 14 50
07:00
2 Wine Bottle 10376 18/01/2010 89 89 14 50
07:00
我将行组分组在Product上,列组分组在DateTime上。
任何人都可以建议我如何让报告像第一个例子一样运行。
问候,AW
答案 0 :(得分:0)
您是在汇总报表或SQL中的数据吗?如果在SQL中我会有兴趣看到查询。它看起来像一个SQL问题而不是报告设置。你介意发帖吗?
看起来您需要根据产品(或产品代码)以及时间进行汇总。现在你只是根据时间做这件事。
HTH
答案 1 :(得分:0)
HTH,您好,感谢您的回复,我已根据要求附上了查询:
SELECT tblRegion.RegionName, tblSite.SiteName, tblLine.LineName,
tblCheck.CheckName, tblCheckResult.DateTime, tblCheckResultDecimal.Result,
tblProdRun.PartNo, tblProdRun.PartDesc, tblProdRun.EndDateTime
FROM tblRegion INNER JOIN
tblSite ON tblRegion.RegionID = tblSite.RegionID INNER JOIN
tblLine ON tblSite.SiteID = tblLine.SiteID INNER JOIN
tblCheckResult ON tblLine.LineID = tblCheckResult.LineID INNER JOIN
tblCheck ON tblCheckResult.CheckID = tblCheck.CheckID INNER JOIN
tblCheckResultDecimal ON tblCheckResult.CheckResultID =
tblCheckResultDecimal.CheckResultID INNER JOIN
tblProdRun ON tblLine.LineID = tblProdRun.LineID
WHERE (tblCheckResult.DateTime >= @DateFrom) AND (tblCheckResult.DateTime <=
@DateTo) AND (tblCheck.CheckID = 69) AND (tblSite.SiteID = @SiteID) AND
(tblProdRun.EndDateTime IS NULL) OR
(tblCheckResult.DateTime >= @DateFrom) AND (tblCheckResult.DateTime <=
@DateTo) AND (tblCheck.CheckID = 69) AND (tblSite.SiteID = @SiteID) AND
(tblProdRun.EndDateTime BETWEEN @DateFrom AND @DateTo)
ORDER BY tblLine.LineName,tblSite.SiteName,tblCheckResult.DateTime