0

クエリから情報をテーブルに入力しようとしていますが、エラー 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を離れることができます)、サブクエリなしで機能しました!

4

3 に答える 3

0

私が見つけた1つのエラーはこの行にあります

for($count = 0; $count < $200; $count++)

$200 は構文が正しくありません。

于 2013-08-10T13:34:35.793 に答える
0

選択リストのこの項目に名前を付けるように変更します。

SUM(jp.MENGE)

そのようです:

SUM(jp.MENGE) AS SUM_MENGE

次に、PHP の配列で「SUM_MENGE」を次のように使用します。

 echo $row['SUM_MENGE'];

MySQL は、あなたが使用しているものではない列名を生成していると思います。列名を選択することで、それを制御し、それが何であるかを知ることができます。

于 2016-02-21T21:43:32.500 に答える
0

選択した非集計列でグループ化する必要があります-試してください:

GROUP BY jp.ARTNUM, jp.BEZEICHNUNG, SUM(jp.MENGE), RDATUM
于 2013-08-10T15:14:16.040 に答える