0

各スレッドのステーション数をカウントするために、tblStations と tblThreads の 2 つのテーブルに対して次の SQL ステートメントを実行しました。

SELECT tblThreads.*, (SELECT COUNT(*) FROM tblStations WHERE tblStations .fldThreadID=tblThreads.fldID) AS TotalStationsInThread FROM tblThreads;

次に、システム内のスレッドごとに tblThread.Name と TotalStationsInThread を表示します。

ここで、この階層に別のテーブル (tblUsers) を追加しました。各スレッドは多数のユーザーを持つことができ、各ユーザーは多数のステーションを持つことができます。3 つのテーブルは、次のように相互に関連付けられています。

tblStations.fldUserID=tblUsers.fldID > tblUsers.fldThreadID=tblThreads.fldID.

そこで、SQL クエリを次のように変更しました。

SELECT tblThreads.*, (SELECT COUNT(*) FROM tblStations WHERE tblStations.fldUserID=tblUsers.fldID AND tblUsers.fldThreadID=tblThreads.fldID) AS TotalStationsInThread FROM tblThreads;

しかし今、「1 つ以上の必須パラメーターに値が指定されていません」というメッセージが表示されます。データベースがテーブル tblStations を tblUsers 経由で tblThreads に接続できないようです...

各スレッドに接続されているすべてのユーザーに接続されているステーションの数を数える方法について何か助けてください??

4

2 に答える 2

0

tblUsersに含める必要があります。from

SELECT tblThreads.*,
       (SELECT COUNT(*)
        FROM tblUsers inner join
             tblStations
             on tblStations.fldUserID = tblUsers.fldID
        WHERE tblUsers.fldThreadID = tblThreads.fldID
       ) AS TotalStationsInThread
FROM tblThreads;
于 2013-09-07T15:46:34.263 に答える