这似乎是一件很平常的事情,但我似乎找不到如何去做。
我有一个连接查询
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
。我b.maxten > 10
在表中有 1 次实际出现,但是 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 个值,但必须查询所有 5000+ 行时,它似乎可以工作,但只选择不同的batiment
值。没有batiment
桌子就没有办法做到这一点tblBatiment: batiment, nom_batim
我知道这是最好的方法,但我没有访问权限。