如果表没有特定条目,MySQL返回0

时间:2017-09-28 14:56:04

标签: mysql

不确定如何说出我的问题,对不起,如果它有点令人困惑。希望以下内容能够清除它。

这是我到目前为止运行的查询:

select business.name, ifnull(sum(checkin.count),0) as checknum from checkin inner join business on business.id = checkin.business_id where business.state = 'NY' group by business.name order by checknum desc;

并且几乎按预期工作。在纽约有另外一家公司,在登记表中没有任何计数,但我无法将其输出。

这是我目前的输出:

+---------------------------------------+----------+ | name | checknum | +---------------------------------------+----------+ | Lakeside Coffee | 31 | | McDonalds | 18 | | Valero | 15 | | Angelo's Pizza & Grill | 13 | | Gino's Pizza | 8 | | Sandy's Deli | 7 | | Tribeca North Luxury Apartments Homes | 2 | | Matt & Nat | 2 | | Filion's Diner | 2 | | Squirrel's Nest Restaurant and Bar | 2 | | Best Friends Family Diner | 1 | | China Buffet | 1 | | Sandi's Kountry Kitchen | 1 | | Dick's Country Store | 1 | +---------------------------------------+----------+

但我需要抓住没有任何签到的最后一项业务。不知道如何进一步解决这个问题。

1 个答案:

答案 0 :(得分:1)

您需要使用right join代替inner join

左连接将返回关系右侧的所有行,无论左侧是否有任何键匹配。