[英]select count change value from another table
我想问问
我有2张桌子:
在表格产品字段“城市”中显示数据“ 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.