Quale sarebbe l'errore quando mi seguente messaggio di errorecampo COUNT errore non corretto o la sintassi
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[07002]: [Microsoft][ODBC Driver 11 for SQL Server]COUNT field incorrect or syntax error'...
Questa è la query che sto utilizzando
$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();
Ho cercato domande in SO, ma nessuno era simile o utile.
Grazie in anticipo.
Modifica: Questa query funziona correttamente quando viene eseguita con Microsoft SQL Server Management Studio, ma quando si utilizza PDO, viene visualizzato l'errore.
tuo '' stockamount' e stockname' non fanno parte del 'GROUP BY' in modo da non è possibile selezionarli senza un metodo di aggregazione come 'MIN'. –
Immagino di avere uno sfondo MySQL: http: //stackoverflow.com/questions/33629168/group-by-clause-in-mysql-and-postgresql-why-the-error-in-postgresql/33629201#33629201. Il punto è che il comportamento di aggregazione di MySQL non è un reclamo ANSI. – lad2025
Per il messaggio di errore, questo è un PDOException, non un'eccezione SQL. Potrebbe essere una mancata corrispondenza nel set di risultati e l'oggetto a cui stai cercando di collegarlo? –