問題があります。それは解決しやすいようですが、実際にはなぜそれが動作していないのかわかりません!私は、各ホストグループ内のホストの数をカウントしたい、それとテーブルの行数をカウントする
HOSTS
________________________
id | hostgroup_id
________________________
1 | 1
2 | 1
3 | 2
4 | NULL -- a host can have no hostgroup
________________________
HOSTGROUPS
________________________
id | name
________________________
1 | ARM
2 | Spark
3 | Pyro
________________________
:これらの挿入行の
HOSTS(id, hostgroup_id)
HOSTGROUPS(id, name)
:
は、私は2つのテーブルを持っています。 は、ここに私のSQLクエリです:
SELECT HG.name, COUNT(H.id) AS count
FROM HOSTS H, HOSTGROUPS HG
WHERE H.hostgroup = HG.id
UNION DISTINCT
SELECT HG.name, 0 AS count
FROM HOSTS H, HOSTGROUPS HG
WHERE (H.hostgroup = HG.id) = FALSE
をそして、ここに私の結果である:
_____________________
name | count
_____________________
ARM | 2 -- OK
Spark | 0 -- NOPE, INTENDED 1
Pyro | 0 -- OK
ARM | 0 -- NOPE, DUPLICATED ROW
_____________________
そして最後に、ここで私を待っていますものです:あなたの答えの人たちのための
_____________________
name | count
_____________________
ARM | 2
Spark | 1
Pyro | 0
_____________________
ありがとう! :)
が選択にGROUP BY句を追加できます。 (そして、 ';'を削除してください...あなたのクエリは本当に実行されますか?) – jarlh
@jarlh Woo、 '; – iArcadia