3

COUNT()NULL 値を含むフィールドで関数を使用するクエリの実行に問題があります。

unixODBC、PHP 5.3.10、および SQL Server 2008 で FreeTDS v0.91 を使用しています。7.2 プロトコルを使用するための接続があります。次のクエリを実行しようとしています。

SELECT COUNT(ProductCode) AS p FROM Membership

このクエリは、メンバーシップのすべての ProductCode が null の場合にのみエラーをスローします。これを SQL Server で直接実行すると、それがどのように評価されるか (0 まで) が評価されます。

FreeTDS からこのクエリを実行しようとすると、次のエラーが表示されます。

SQLSTATE[24000]: 無効なカーソル状態: 0 [FreeTDS][SQL Server]無効なカーソル状態 (/builddir/build/BUILD/php-5.3.10/ext/pdo_odbc/odbc_stmt.c:537 の SQLFetchScroll[0])

なぜ私がこのエラーを受け取るのか知っている人はいますか? 一度に 2 つの結果セットをループしようとしたときに同様のエラーが発生したことを覚えていますが、これは単一のクエリです。

に null 以外の値を持つレコードがある場合、このクエリは正常に機能しますProductCodeCOUNT()の結果がゼロだった場合にのみ失敗するようです。

この問題の原因や解決方法を知っている人はいますか?

4

1 に答える 1