簡體   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