【问题标题】:Oracle SQL - How do i select tables with 0 or more values from other tablesOracle SQL - 如何从其他表中选择具有 0 个或多个值的表
【发布时间】:2018-11-09 16:41:23
【问题描述】:

所以我需要进行咨询,显示城市的 ID、名称以及该城市拥有多少客户,包括拥有 0 个客户的城市;

我最初试图只获取有客户的城市,但不知道如何包括没有客户的城市。

我有一张表:包含 ID_city、NAME 和 REGION 的 CITIES 和表:包含 ID_client、NAME 和 ID_city 的 CLIENTS

查询:

select l.name, l.ID_city, count(c.name) from clients c
JOIN cities l on l.ID_city = c.ID_city
GROUP BY l.name, l.ID_city;

【问题讨论】:

  • 提示:LEFT JOIN.

标签: sql oracle select


【解决方案1】:

使用left join

select l.nomecidade, l.codcidade, count(c.nomecliente) from prova.clientes c
left  JOIN prova.cidades l on l.codcidade = c.codcidade
GROUP BY l.nomecidade, l.codcidade

【讨论】:

    【解决方案2】:

    使用左连接,但请确定您首先考虑哪个表。 下面的代码应该可以解决问题:

    select C1.name, C1.ID_city, count(C2.name) from cities C1
    LEFT JOIN clients C2 on C1.ID_city = C2.ID_city
    GROUP BY C1.name, C1.ID_city;
    

    【讨论】:

      猜你喜欢
      • 2019-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-30
      • 2020-05-28
      • 2012-12-07
      • 1970-01-01
      相关资源
      最近更新 更多