我正在尝试使用查询中的信息填充表格,但我收到错误500。 我做错了什么?
for($count = 0; $count < $200; $count++)
{
$result = mysql_query("SELECT jp.ARTNUM, jp.BEZEICHNUNG, SUM(jp.MENGE), RDATUM
FROM journalpos jp, journal j
WHERE j.REC_ID=jp.JOURNAL_ID AND ARTNUM IS NOT NULL AND jp.JOURNAL_ID IN
(SELECT REC_ID FROM journal WHERE RDATUM BETWEEN NOW() - INTERVAL 1 DAY AND NOW() )
GROUP BY ARTNUM
LIMIT $count , 30")
or die(mysql_error());
$row = mysql_fetch_array( $result );
echo "<tr>";
echo "<td>";
echo $row['jp.ARTNUM'];
echo "</td>";
echo "<td>";
echo $row['jp.BEZEICHNUNG'];
echo "</td>";
echo "<td>";
echo $row['SUM(jp.MENGE)'];
echo "</td>";
echo "<td>";
echo $row['RDATUM'];
echo "</td>";
echo "</tr>";
}
它没有SUM函数(然后我可以离开GROUP BY)而没有子查询!
答案 0 :(得分:0)
我发现的一个错误是在这一行
for($count = 0; $count < $200; $count++)
200美元的语法不正确。
答案 1 :(得分:0)
您需要按照选择中的非聚合列进行分组 - 尝试:
GROUP BY jp.ARTNUM, jp.BEZEICHNUNG, SUM(jp.MENGE), RDATUM
答案 2 :(得分:0)
更改选择列表中的此项目以获得名称:
SUM(jp.MENGE)
像这样:
SUM(jp.MENGE) AS SUM_MENGE
然后在PHP中的数组中使用'SUM_MENGE',如下所示:
echo $row['SUM_MENGE'];
我希望MySQL为它生成一个不是你正在使用的列名。通过选择列名称,您可以控制它并知道它是什么。