Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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 - Fatal编程技术网

Mysql 从多个表中选择数据并比较不同的列

Mysql 从多个表中选择数据并比较不同的列,mysql,sql,Mysql,Sql,如何从两个不同的表中选择数据并进行比较,从而得到结果 我有一张桌子 id name surname adress 1 Fred Lapinski brook st. 3-5 2 Albert Enstein wall st. 3-5 3 David Leterman blue st. 3-5 4 Andrew Igudola groov st. 3-5 和表2 id name replacement 1

如何从两个不同的表中选择数据并进行比较,从而得到结果

我有一张桌子

id  name    surname    adress
1   Fred    Lapinski   brook st. 3-5
2   Albert  Enstein    wall st. 3-5
3   David   Leterman   blue st. 3-5
4   Andrew  Igudola    groov st. 3-5
和表2

id  name             replacement
1   Patrick Kane     Igor Petrov
2   Fred Lapinski    Warrent Buffet
3   Sabrina Kubrick  Bill Dill
4   Andrew Igudola   Rebbeca Aberson 
我想从两个表中选择数据,如果表1中的名称与表2中的名称相同,则回显true并回显替换名称。
我正在制作一个系统,显示今天哪些工人不在工作,哪些人正在取代它

您可以尝试以下方法:

选择 如果t2.id不为NULL,则“T”或“F”以名称\u匹配结束, 合并 t2.更换-如果存在,则返回更换 CONCATt1.name',t1.name-否则返回原始名称 作为最终的名字 来自表1 t1 在CONCATt1.name',t1.姓氏=t2.name上左联接表2 t2 这假设名称与表1中的意思一致=表2中的意思一致


表1在两列中包含姓名,而表2仅在一列中包含全名。如果我们需要比较表1和表2的名称,然后我们需要将表1的名字和姓氏连接起来,然后将其与表2的名字连接起来。

是否只需要表1中的名字与表2中的名字相等的行?我需要获取一个值,如果我无法确定谁不在,我可以输入什么,如果员工不在,我无法显示替换。这有点复杂,很抱歉我的英语不是我的母语。请你解释一下你的代码,这样其他人可以从中学习。表1在两列中包含姓名,而表2在一列中仅包含全名。若我们需要比较table1和table2的名称,那个么我们需要将table1的名字和姓氏连接起来,然后它应该和table2的名称连接起来。
select 
table2.name, replacement 
from 
(select CONCAT(name, ' ', surname) as name from table1) a, table2
where 
a.name = table2.name;