繁体   English   中英

从另一个表中选择计数更改值

[英]select count change value from another table

我想问问

我有2张桌子:

  1. 表产品(编号,产品名称,价格,城市)
  2. 表格城市(no_city,city_name)

在表格产品字段“城市”中显示数据“ no_city”

我的意思是在餐桌产品中这样:

no | product_name | price | city
1  | apple        | $5    | 1

在这样的餐桌城市:

no_city | city_name
1       | london

我有一个chart.js代码

我使用数据库中的计数数据,这是我的代码

$city = $GLOBALS['conn']->GetAll("SELECT city AS `labels`, COUNT(city) AS `values` FROM product GROUP BY city");

在图表预览数据城市显示“ 1”中应为城市“伦敦”

问题是如何将图表预览中的数字“ 1”更改为城市名称“ london”

我尝试使用INNER JOIN但不起作用

先生,请帮我

如何将图表预览中的数字“ 1”更改为城市名称“ london”

谢谢

使用联接从另一个表中引入城市名称:

SELECT
    c.city_name AS labels,
    COUNT(p.city) AS values
FROM city c
LEFT JOIN product p
    ON p.city = c.no_city
GROUP BY
    c.no_city, c.city_name

请注意,将city加入product表是合乎逻辑的,因为这保证了每个城市都会出现在您的结果集中。 对于那些没有产品的城市,将报告为零。

您可以使用LEFT JOIN来处理没有产品的城市的情况。

试试这个代码:

$city = $GLOBALS['conn']->GetAll(
  "SELECT
     city.city_name AS `labels`,
     COUNT(product.city) AS `values`,
     city.no_city
   FROM city c
   LEFT JOIN product p
     ON p.city = c.no_city
   GROUP BY c.no_city"
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM