mysql - 如何使用连接获取正确的值

标签 mysql join

这让我抓狂,我确信它相当简单,但无法正确执行。

有一个表保存不同年份的利率值:

Ratevaluetable

Year   Value A  Value B  Value C
2009     10      15       20
2010     12      18       22
2011     14      21       25

然后我有另一个人员表:

User    Time      Price
john    2010      value B
Tina    2009      Value C
Bill    2011      Value C

现在我需要连接两个表,以便获取 Price 列中的值,并替换为 Ratevaluetable 中的数据。

我可以按时加入,但我不知道如何加入Value字段?

最佳答案

这对于您当前的数据库架构来说是不可能的。 Joins 通过匹配列值连接表;您建议在这里做的是将列值与列名称相匹配,这是不可能的。

可能可能的是:

Table ValueTypes:
Id    Description
1     Value A
2     Value B
3     Value C

Table RateValueTable:
Year     ValueTypeId     Value
2009     1               10
2009     2               15
2009     3               20

Table User:
User    Time      ValueTypeId
john    2009      2

鉴于上述架构,您可以以明显的方式将 User 连接到 RateValueTable

关于mysql - 如何使用连接获取正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7698085/

相关文章:

mysql - 如何使用for循环优化Mysql查询

mysql - 如何使用多个表检查所选日期内是否有记录?

python - Pandas - 以正确的方式连接两个不同结构的 JSON

mysql - 有一个列 'number_of_likes' 或者有一个单独的列...?

sql - Mysqldump 命令出错

MySql Join with Sum 返回错误的输出

mysql 派生表、性能、替代方案

MySQL:在 View 中选择?

java.sql.SQLException : Invalid argument value: java. io.NotSerializableException 异常

mysql - mysql中三个表的内连接花费太长时间