0

このクエリで nbre > 0 の項目を選択しようとしています:

SELECT c.id, c.nom, c.photo,
    (SELECT count(*) 
     FROM touist_materiel 
     WHERE cat=c.id AND marque=7 AND actif=1
    ) as nbre
FROM touist_materiel_cat c
INNER JOIN touist_materiel m ON m.cat=c.id 
WHERE nbre > 0 
GROUP BY m.cat 
ORDER BY c.nom

このクエリは機能しません。「where nbre > 0」を機能させるにはどうすればよいですか? ありがとう

4

2 に答える 2

0
SELECT tmc.id, tmc.nom, tmc.photo, count(tm.*) AS nbre
  FROM touist_materiel_cat tmc
  INNER JOIN touist_materiel tm
    ON tm.cat=tmc.id 
  WHERE nbre > 0 
    AND tm.marque=7 
    AND tm.actif=1
  GROUP BY tm.cat 
  ORDER BY tmc.nom;
于 2013-10-26T20:23:25.693 に答える
0

サブクエリなしで試してみませんか?

SELECT c.id, c.nom, c.photo, count(m.*) AS nbre
FROM touist_materiel_cat c
INNER JOIN touist_materiel m
  ON m.cat=c.id AND m.marque=7 AND m.actif=1
GROUP BY m.cat
ORDER BY c.nom

INNER JOIN を使用すると、常に count(m.*) > 0 になります。

于 2013-10-26T20:17:41.343 に答える