如何从两个不同的表中选择数据并进行比较并得到结果?
我有一台table1
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和Table2
id name replacement
1 Patrick Kane Igor Petrov
2 Fred Lapinski Warrent Buffet
3 Sabrina Kubrick Bill Dill
4 Andrew Igudola Rebbeca Aberson 我想从两个表中选择数据,如果来自table1的名称与来自table2的名称相同,则回显true并回显替换的名称。我正在制作一个系统,它显示了今天谁不在工作,谁来接替它。
发布于 2019-11-25 16:31:17
您可以尝试如下所示:
SELECT
CASE WHEN t2.id IS NOT NULL THEN 'T' ELSE 'F' END AS name_match,
COALESCE(
t2.replacement, -- Return "replacement" if exists
CONCAT(t1.name,' ', t1.surname) -- Otherwise return original name
) AS name_final
FROM table1 t1
LEFT JOIN table2 t2 ON (CONCAT(t1.name, ' ', t1.surname)) = t2.name假设名称匹配表示table1中的<name> <surname> = table2中的<name>
发布于 2019-11-25 16:32:08
select
table2.name, replacement
from
(select CONCAT(name, ' ', surname) as name from table1) a, table2
where
a.name = table2.name;table1在两个不同的列中包含姓名和姓氏,而table2仅在一列中包含全名。如果我们需要比较table1和table2的名字,那么我们需要将table1的名字和姓氏连接起来,然后将其与table2的名称连接起来。
https://stackoverflow.com/questions/59027578
复制相似问题