Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 选择表并用另一个表中的值替换列_Mysql_Sql_Database_Select - Fatal编程技术网

Mysql 选择表并用另一个表中的值替换列

Mysql 选择表并用另一个表中的值替换列,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

我试图在我的数据库(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 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最初发布的代码确实产生了您给出的示例数据所需的输出。但是,它不能产生问题中要求的正确结果。样本数据和预期结果本可以更清楚地说明这一点。也;你们两个在谈论这件事时本可以更礼貌、更体谅。嗯,我看不出我的答案和打上记号的答案有什么区别,但我希望我帮了你。