Mysql 选择表并用另一个表中的值替换列
我试图在我的数据库(MySQL)上实现一个查询 例如: 表1Mysql 选择表并用另一个表中的值替换列,mysql,sql,database,select,Mysql,Sql,Database,Select,我试图在我的数据库(MySQL)上实现一个查询 例如: 表1 id,code,name 1,1,Tom 2,1,Jerry 3,1,Peter 4,2,Charles 表2 code,name 1,alpha 2,beta 3,gamma 我需要用最大代码从表1中选择所有值,但将该列(table1.code)替换为表2中的最大值代码(table2.code) 设计输出 id,code,name 4,3,Charles 对于选择最大值,我知道: SELECT * FROM Table1 WH
id,code,name
1,1,Tom
2,1,Jerry
3,1,Peter
4,2,Charles
表2
code,name
1,alpha
2,beta
3,gamma
我需要用最大代码从表1中选择所有值,但将该列(table1.code)替换为表2中的最大值代码(table2.code)
设计输出
id,code,name
4,3,Charles
对于选择最大值,我知道:
SELECT * FROM Table1 WHERE code = (SELECT MAX(code) FROM Table1)
如何更换
SELECT REPLACE(Table1.code, SELECT * FROM Table1 WHERE code = (SELECT MAX(code) FROM Table1), SELECT code FROM Table2 WHERE code = (SELECT MAX(code) FROM Table2)) * FROM Table1 WHERE code = (SELECT MAX(code) FROM Table1)
我很困惑:c
谢谢你的阅读 您可以使用子查询从表2中查找max(代码)
Select id,(select max(code) from table2), name
from table1 order by code desc limit 1
如果有更多行具有Maximum代码,则可以使用下面的代码
Select id,(select max(code) from table2), name
from table1 where code = (select max(code) from table1)
您不必替换这些值,而是可以选择两个最上面的值
Select Top 1 id, (Select max(code) from table2), name
from Table1 order by code desc
如果您想拥有所有最大代码值,可以尝试
SELECT id, (SELECT max(code) from Table2), name
FROM Table1 WHERE code = (select max(code) from Table1)
试试这个
SELECT id,
(SELECT Max(code)
FROM table2),
name
FROM table1 A
WHERE code = (SELECT Max(code) code
FROM table1)
我不确定我是否明白你在做什么。您如何将表1中的数据与表2中的数据关联起来?您只是想从表1中选择最大id和表2中的最大代码?您是想实际更新数据,还是只是在输出中替换数据?是的,将表2中的最大代码替换为表1中的最大代码列值,请原谅我的英语太差。@Dale,我想用那种方式选择值,然后我将在表1中插入该输出。但是别担心,现在我只需要选择values@alessadro我的代码和你的答案是一样的,但是我之前发布过,你试过了吗?是的@Ahmad,我试过了。而且不一样。仔细查看这两个代码。@alessadro和Ahmad:Ahmad最初发布的代码确实产生了您给出的示例数据所需的输出。但是,它不能产生问题中要求的正确结果。样本数据和预期结果本可以更清楚地说明这一点。也;你们两个在谈论这件事时本可以更礼貌、更体谅。嗯,我看不出我的答案和打上记号的答案有什么区别,但我希望我帮了你。