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

这个查询不起作用,我怎样才能让“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 回答