我有四个表(结构,预留和结构成员,节点)。MySQL从另外两个表中计算表中的相关字段数
每个“节点”可能有零个或更多的“结构成员”(与其关联)。每个“面料”可能有零个或多个“面料”(与其相关)。 节点上可能有一个“保留”,并将其与单个“节点”相关联。
因此,你可以看到这些东西之间的引用时:
fabricmember.ipaddr = reservation.ipaddr
和
fabricmember.fabric = fabric.fabricname
(你可以做到这一切,没有实际指的是“节点”)。
我想运行一个查询,它可以显示每个FABRIC的数量,有多少(总和)预订与它关联,以及它有多少(总和)结构成员。同样,在单个查询
我一直用下面的查询:
select
fabricmembers.fabric,
count(reservations.ipaddr) as Memebers,
count(nodes.ipaddr) as Reservations
from fabricmembers
LEFT JOIN (reservations,nodes)
ON ((reservations.ipaddr = fabricmembers.ipaddr) and (nodes.ipaddr = fabricmembers.ipaddr))
GROUP BY (fabricmembers.fabric);
这几乎作品,但是如果织物具有零成员,也有会员,但这些成员有零预留,结构根本不会显示在查询中。
下面的作品给我看的织物有多少成员,即使这个数字是零:
select fabricname,count(fabricmembers.ipaddr)
from fabrics
LEFT JOIN (fabricmembers)
ON (fabrics.fabricname = fabricmembers.fabric)
GROUP BY (fabrics.fabricname);
然而,我无法弄清楚如何让查询也告诉我的数成员。
这是否有任何意义? 任何帮助,将不胜感激!
我完全理解你在说什么。我知道,我只是不知道如何处理它。我确实找到了解决方法,但你的看起来更优雅。我会在今晚晚些时候尝试。谢谢! – Brad 2012-02-06 21:33:14