【发布时间】:2011-04-02 02:56:15
【问题描述】:
我将很多表连接在一起,我想在 company2city 表中计算公司的编号城市,同时将其链接到公司表中的一行,然后找出结束时间是否超过现在.. company2city 是与city 表链接在一起的多对多表。一个公司可以有很多城市,并且在 company2city 表中。
SELECT COUNT(company2city.cityid) as location, city.city
FROM company
INNER JOIN company2city ON company.id = company2city.companyid
INNER JOIN city ON company2city.cityid = city.id AND company.endtime > now()
GROUP BY company2city.cityid
该 select 语句有效,但它只选择那些在 company2city 表中有实例并且 company.endtime 大于 now() 的城市。我想要的是同时选择城市表中的所有城市,如果 company.endtime() > now() 失败,它只会将 COUNT(company2city.cityid) 设为 location = 0
我该如何做这样的选择语句?
【问题讨论】: