Was den Fehler sein würde, wenn ich folgende Fehlermeldung erhaltenCOUNT Feld falsche oder Syntaxfehler
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[07002]: [Microsoft][ODBC Driver 11 for SQL Server]COUNT field incorrect or syntax error'...
Dies ist die Abfrage, die ich bin mit
$sql = $pdo->prepare("SELECT stockamount, stockname, stockbalance.stockid, SUM(ABS(reservationtransaction.stockquantity)) AS reservedamount FROM stockbalance
JOIN stock ON stockbalance.stockid = stock.stockid
LEFT JOIN reservationtransaction ON reservationtransaction.articleid = :artid
WHERE stockbalance.articleid = :artid AND ((changeddate > DATEADD(yy,-1,GETDATE()) AND inventorydate > DATEADD(yy,-1,GETDATE())) OR stockbalance.stockamount <> 0)
GROUP BY stockbalance.stockid");
$sql->bindValue(':artid', $productId);
$sql->execute();
ich Fragen in SO gesucht haben, aber niemand war ähnlich oder hilfreich.
Vielen Dank im Voraus.
Bearbeiten: Diese Abfrage funktioniert einwandfrei, wenn Sie es mit Microsoft SQL Server Management Studio ausführen, aber wenn ich PDO verwende, erhalte ich den Fehler.
Ihre 'stockamount' und' stockname' sind nicht Teil der 'GROUP BY', so dass Sie kann sie nicht ohne eine Aggregatmethode wie "MIN" auswählen. –
Ich vermute, Sie haben MySQL Hintergrund: http: //stackoverflow.com/questions/33629168/group-by-clause-in-mysql-and-postgresql-why-the-error-in-postgresql/33629201#33629201. Der Punkt ist, dass das Aggregationsverhalten von MySQL keine ANSI-Beanstandung ist. – lad2025
Nach der Fehlermeldung ist dies eine PDOException, keine SQL-Ausnahme. Könnte es sein, dass die Ergebnismenge nicht übereinstimmt und das Objekt, an das Sie es binden möchten? –