[英]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.