【发布时间】:2023-01-12 23:04:59
【问题描述】:
我有下表:
CREATE TABLE usuarios ( id INT, nome varchar );
INSERT INTO usuarios VALUES
(1, 'Teste'),
(2, 'Teste1'),
(3, 'Teste2'),
(4, 'Teste3'),
(5, 'Teste4'),
CREATE TABLE FichaColab( id INT, nomcompleto varchar );
INSERT INTO FichaColab VALUES
(1, 'Teste Teste'),
(3, 'Teste2 Teste2'),
(5, 'Teste4 Teste4'),
我打算从第一个表中获取所有名称,但如果 id 存在于第二个表中,则返回第二个表的名称而不是第一个表的名称。 这是我想要的结果:
| id | nome |
|---|---|
| 1 | Teste Teste |
| 2 | Teste1 |
| 3 | Teste2 Teste2 |
| 4 | Teste3 |
| 5 | Teste4 Teste4 |
我正在尝试这样:
SELECT usuarios.id, usuarios.nome
FROM usuarios
UNION
SELECT FichaColab.Id, nomcompleto
FROM FichaColab
但是这种方式返回两个表中的所有内容并重复 id 而不能。
【问题讨论】:
标签: mysql