所以,我目前正在为老板制作仪表板,从物流的角度显示数据,他已经向我发送了自己的MS Access查询为了制作一个表,我们的工人可以从应提取的数据中查看。有什么明显的错误吗?
我只是个学徒,但是我的前辈建议围绕命令的一切都需要[]围绕PHP和Codeigniter运行,我尝试通过验证器更改语法,但我似乎已经撞到了砖墙。以下是原始的。
function order_table()
{
$date = date("Y-m-d");
$macsdb = $this->load->database('macs', TRUE);
$query = $macsdb->query("SELECT temp123.Hour, temp123.User, Count(temp123.[ORDER]) AS CountOfORDER, Sum(temp123.SumOfCountOfPRODUCT) AS SumOfSumOfCountOfPRODUCT, Sum(temp123.SumOfSumOfQUANTITY) AS SumOfSumOfSumOfQUANTITY
FROM (SELECT temp456.Hour, temp456.User, temp456.[ORDER], Sum(temp456.CountOfPRODUCT) AS SumOfCountOfPRODUCT, Sum(temp456.SumOfQUANTITY) AS SumOfSumOfQUANTITY
FROM (SELECT WHAUDIT.Date, Format([Time],'hh') AS [Hour], WHAUDIT.User, WHAUDIT.[ORDER], Count(WHAUDIT.PRODUCT) AS CountOfPRODUCT, Sum(WHAUDIT.QUANTITY) AS SumOfQUANTITY
FROM WHAUDIT
WHERE (((WHAUDIT.type)='I11' Or (WHAUDIT.type)=' 11'))
GROUP BY WHAUDIT.Date, Format([Time],'hh'), WHAUDIT.User, WHAUDIT.[ORDER]
HAVING (((WHAUDIT.Date)='$date')) as temp456
GROUP BY temp456.Hour, temp456.User, temp456.[ORDER]) as temp123
GROUP BY temp123.Hour, temp123.User
ORDER BY temp123.Hour DESC;");
return $query->result();
$macsdb->close();
}
查询本身如下:
SELECT
temp123.Hour,
temp123.User,
Count(temp123.[ORDER]) AS CountOfORDER,
Sum(temp123.SumOfCountOfPRODUCT) AS SumOfSumOfCountOfPRODUCT,
Sum(temp123.SumOfSumOfQUANTITY) AS SumOfSumOfSumOfQUANTITY
FROM
(
SELECT
temp456.Hour,
temp456.User,
temp456.[ORDER],
Sum(temp456.CountOfPRODUCT) AS SumOfCountOfPRODUCT,
Sum(temp456.SumOfQUANTITY) AS SumOfSumOfQUANTITY
FROM
(
SELECT
WHAUDIT.Date,
Format([Time], 'hh') AS [Hour],
WHAUDIT.User,
WHAUDIT.[ORDER],
Count(WHAUDIT.PRODUCT) AS CountOfPRODUCT,
Sum(WHAUDIT.QUANTITY) AS SumOfQUANTITY
FROM
WHAUDIT
WHERE
(
(
(WHAUDIT.type) = 'I11'
Or (WHAUDIT.type) = ' 11'
)
)
GROUP BY
WHAUDIT.Date,
Format([Time], 'hh'),
WHAUDIT.User,
WHAUDIT.[ORDER]
HAVING
(((WHAUDIT.Date) = '$date')) as temp456
GROUP BY
temp456.Hour,
temp456.User,
temp456.[ORDER]
) as temp123
GROUP BY
temp123.Hour,
temp123.User
ORDER BY
temp123.Hour DESC;
我一直在尝试使用Echo功能来填充表格,但我还没有使它起作用。在查询中,它似乎是查询中的查询。任何建议都将不胜感激。
我尝试了方括号对所有秩序实例进行括号,因为它显然是它的重要组成部分,如果没有它,就无法正确读取。我已经尝试通过验证器运行它,但是由于括号也是如此,这引发了各种问题。我也知道,由于某种原因,它似乎真的不喜欢格式时间部分。
此查询的目标是能够从CodeIgniter视图页面上的结果填充表。任何建议都将不胜感激。
访问中的日期值表达式包裹在八刺中,所以要么:
HAVING (((WHAUDIT.Date)=#$date#)) as temp456
或,如果今天的日期:
HAVING (((WHAUDIT.Date)=Date())) as temp456
另外,这里的领先空间看起来很奇怪:
Or (WHAUDIT.type) = ' 11'