2016-07-19 6 views
0

私はSQLとPHPのクエリに問題があるので、彼らが私を助けることができるかどうかを知りたかったので、私は各ベンダーの販売台数を追加する必要があります。データベースには何百ものレコードが含まれているためです。 私はこのエラーを取得する:PHPとSQLクエリ

Warning: odbc_exec(): SQL error: [TOD] [ODBC] [GENESIS] Non aggregates require a GROUP BY expression.

Warning: odbc_fetch_row() expects parameter 1 to be resource, boolean given in

は、私はインターネット上ではなくて、関数グループのグループにそれらをしようとして多くのことを探索し、まだ私に同じエラーを与えます。 私は自分のコードの一部を残しています。

<?php 
    $sqlVend = "select top 10 VEN_LLAVE, VEN_NOMBRE, VDOC_UDS, 
        sum(VDOC_UDS) as suma 
       from VENVEN, VENDOC 
       where VENVEN.VEN_LLAVE = VENDOC.VDOC_VEND group by VEN_LLAVE"; 
    $resVend = odbc_exec($cone, $sqlVend); 
    while (odbc_fetch_row($resVend)) { 
    # code... 
?> 
<tr> 
    <td><?php echo odbc_result($resVend, 'VEN_LLAVE') ?></td> 
    <td><?php echo odbc_result($resVend, 'VEN_NOMBRE') ?></td> 
    <td><?php echo odbc_result($resVend, 'suma') ?></td> 

</tr> 
<?php } ?> 
+0

問題のDBMSタグを修正すると、結果がより速くなる可能性があります。 – BJones

+0

GROUP BYをどこで使用しようとしたのかわかりません。 – showdev

+0

私はあなたの助けを借りて変更しました – Byte

答えて

0

再び、私はVEN_LLAVE, VEN_NOMBREを含めるGROUP BY句を修飾しました。 SUM()で集計されているため、VDOC_UDSは必要ありません。

SELECT TOP 10 VEN_LLAVE, VEN_NOMBRE, 
       SUM(VDOC_UDS) as Suma 
FROM VENVEN, VENDOC 
WHERE VENVEN.VEN_LLAVE = VENDOC.VDOC_VEND 
GROUP BY VEN_LLAVE, VEN_NOMBRE 
+0

、もう一度おかげさまで。 しかし、VDOC_UDSを削除したときにエラーが発生しました。 私はあなたが示唆した通りにコードを書いたが、それはうまくいかなかった。もっと情報が必要ですか?私は何をすることができますか? – Byte

+0

@Byte同じ2つのエラーが表示されますか? – BJones

+0

はいbro:/同じ2つのエラー。それは何だろう? – Byte