即使结果不存在,MYSQL也会显示0

Jon*_*Jon 6 mysql sql

我有一个包含2个表的MySql数据库:

countries
results
Run Code Online (Sandbox Code Playgroud)
  • 国家是公正idcountry name.
  • 结果是a country_id,a value和a date.
  • 并非所有国家/地区都有每个日期的结果

如何创建一个列出具有特定结果的所有国家/地区的查询,但仍然列出它们,如果结果表中没有结果,则显示0?

Ric*_*iwi 7

在两个表之间使用LEFT JOIN

select c.id, c.name, IFNULL(r.value, 0) value, r.date
from countries c
LEFT JOIN results r on r.country_id = c.id
Run Code Online (Sandbox Code Playgroud)

要显示0(对于value列),如果没有结果,请使用IFNULL.