SQL查询:如何根据查找表更改值?
发布时间:2020-12-12 07:44:03 所属栏目:MsSql教程 来源:网络整理
导读:[更新:我正在使用 MySQL 4.1.25] 我认为这一定很简单,但我是一个SQL菜鸟,需要一些帮助.我有一个查找表,如下所示: 查找表 key1,value1 key2,value2 key3,value3 … keyN,valueN 然后我有另一个表在一列中有一个随机的键列表(有重复),我需要在相应的列中添加
[更新:我正在使用
MySQL 4.1.25]
我认为这一定很简单,但我是一个SQL菜鸟,需要一些帮助.我有一个查找表,如下所示: 查找表 key1,value1 然后我有另一个表在一列中有一个随机的键列表(有重复),我需要在相应的列中添加相关的值. 例如,第二个表可能是: second_table key3,? 我需要用lookup_table中的值替换second_table中的?s,如下所示: second_table(更新) key3,value3 这似乎是一个简单的SQL查询应该解决的问题.有什么建议? 解决方法使用连接更新(而不是执行子查询)时,我更喜欢以下语法.它允许您在更新结果之前查看结果并知道查询的正确性.select st.key,lt.value --update st set value = lt.value from second_table st inner join lookup_table lt on st.key = lt.key 请注意,当您准备好进行更新时,请从更新时选择所有内容. 更新:感谢tekBlues,我发现上述内容至少适用于SQL Server和Oracle. MySQL有一些不同的语法: update second_table st inner join lookup_table lt on st.key = lt.key set st.value = lt.value 这些是大型RDBMS,所以希望其中一个是有用的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |