如何将表与另一个有计数的表联系起来?

时间:2014-09-02 09:52:31

标签: mysql sql

我有第一张表,我计算了这个数字:

SELECT TYPEC ,count(TYPEC) 
FROM planning_cuisson 
GROUP BY TYPEC 
HAVING COUNT(TYPEC) > 0 
ORDER BY COUNT(TYPEC) asc

并显示此值:

enter image description here

我还有一个名为zp01的表,其中一个Colonne与TYPEC的TYPE_CUISSON相同。

enter image description here

如何通过tables =>之间的连接获得此结果? enter image description here

我尝试了这种请求,但没有工作:

SELECT * 
FROM planning_cuisson p1, zp01 p2 
WHERE p2.type_cuisson=p1.typec 
GROUP BY p1.TYPEC 
HAVING COUNT(p1.TYPEC) > 0 
ORDER BY COUNT(p1.TYPEC) asc

1 个答案:

答案 0 :(得分:3)

你必须使用这样的连接:

SELECT p2.*, p1.cnt_typec 
FROM zp01 p2 
JOIN (
  SELECT TYPEC, count(TYPEC) AS cnt_typec 
  FROM planning_cuisson 
  GROUP BY TYPEC 
  HAVING COUNT(TYPEC) > 0
) p1
WHERE p2.type_cuisson = p1.typec 
ORDER BY cnt_typec ASC;

在内部查询中,您将获得typec计数为>的那些记录。 0,然后将这些记录与zp01表连接,以获得所需的记录。