首页 > 解决方案 > 如何连接来自不同数据库的2个表不等于

问题描述

我想加入来自不同数据库的 2 个表。

例如我有table1table2

结果我想获取table2不存在的数据table1

table1

name     langid
name1    en
name1    no
name2    en
name3    en

table2

name     langid
name1    en
name1    id
name1    no
name2    en

所以结果应该是这样的

结果我想要的

name     langid
name1    en
name1    no
name1    id
name2    en
name3    en

我尝试的代码

select p66.language_string_text_id, p66.language_string, p66.language_id
FROM project66.languagestrings p66
JOIN wisehouse.languagestrings wh 
ON p66.language_string_text_id != wh.language_string_text_id
GROUP BY p66.language_string_text_id, p66.language_id

但这段代码不起作用。

标签: mysqlmariadb

解决方案


您需要UNION删除重复项而不是连接:

select name, langid from table1
union
select name, langid from table2

请参阅演示
结果:

| name  | langid |
| ----- | ------ |
| name1 | en     |
| name1 | no     |
| name1 | id     |
| name2 | en     |
| name3 | en     |

推荐阅读