mysql如何使用依赖于其他表中的值的值(“分数”)来填充表

时间:2014-11-14 04:58:02

标签: mysql sql

我在MYSQL中的数据库中的城市有多个数据表,我想评估每个数据集,并用"得分"填写列。基于其他表中的分箱值。

所以我要启动city_gas_prices和city_GDP。我想创建一个新表city_scores,其中第1列是城市名称,第2列是gas_price_score,第3列是GDP_score,

如果city_gas_prices.gas_price介于1.5和2之间,则city_scores.gas_price_score = 1,如果city_gas_prices.gas_price介于2和2.5之间,则gas_price_score = 2,如果city_gas_prices.gas_price介于2.5和3之间,则gas_price_score = 3

并且如果city_GDPs.GDP介于2和3之间,则city_scores.GDP_score = 1,如果city_GDPs.GDP介于3和4之间,则city_scores.GDP_score = 2

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您始终可以使用CASE WHEN条件

SELECT cgp.city_ID AS CityID,
CASE 
  WHEN cgp.gas_price>=1.5 and cgp.gas_price<2 THEN 1
  WHEN cgp.gas_price>=2 and cgp.gas_price<=2.5 THEN 2
END AS gas_price_score,
CASE 
  WHEN cgdp.GDP>=2 and cgp.GDP<3 THEN 1
  WHEN cgdp.GDP>=3 and cgp.city_ID<=4 THEN 2
END AS GDP_score   
FROM city_gas_prices cgp
INNER JOIN city_GDPs cgdp
on cgp.city_ID=cdgp.cityID