これは通常のことのように思えますが、それを行う方法が見つからないようです。
結合クエリがあります
SELECT a.nom_batim, COUNT(b.maxten) AS NumFaulty
FROM tblTrials AS b, tblRooms AS a
WHERE b.batiment = a.batiment
AND b.maxten > 10
GROUP BY a.nom_batim
ORDER BY a.nom_batim
tblTrials エントリの数のみを返す必要があります。ただし、それをコーディングする方法がわからないため、現在、 のすべての出現をb.maxten > 10
TIMES回カウントしていますb.batiment = a.batiment
。テーブルには実際に が 1 回出現b.maxten > 10
していますが、b.batiment = a.batiment が 231 回出現しています (テーブルの設定が不適切であり、私の選択ではありません。これらのテーブルは読み取り専用と見なされます)。 231。
ID フィールドのユーザーフレンドリーな表現としてCOUNT(b.maxten)
正しく表示するにはどうすればよいですか? (は建物の長い名前です # )a.nom_batim
batiment
a.nom_batim
batiment
更新
これは私がこれまでやったことです..
SELECT a.nom_batim, COUNT(b.batiment) AS NumFaulty
FROM (SELECT DISTINCT nom_batim, batiment FROM tblRooms) AS a
INNER JOIN tblTrials AS b ON a.batiment = b.batiment
WHERE b.maxten > 10
GROUP BY a.nom_batim
ORDER BY a.nom_batim
動作しますが、tblRooms から最大 ~30 の値しか必要としない場合、リソースを浪費しているように見えますが、個別のbatiment
値のみを選択して 5000 以上の行すべてを照会する必要があります。batiment
テーブルを持たずにこれを行う方法はありませんtblBatiment: batiment, nom_batim
か?それが最善の方法であることはわかっていますが、アクセスできません。