mysql - 如何连接来自不同数据库的2个表不等于
问题描述
我想加入来自不同数据库的 2 个表。
例如我有table1
和table2
。
结果我想获取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
但这段代码不起作用。
解决方案
您需要UNION
删除重复项而不是连接:
select name, langid from table1
union
select name, langid from table2
请参阅演示。
结果:
| name | langid |
| ----- | ------ |
| name1 | en |
| name1 | no |
| name1 | id |
| name2 | en |
| name3 | en |
推荐阅读
- c# - CSVHelper - 使用两个映射类并根据 csv 文件每一行的字段中的值选择映射
- ios - 我怎样才能把它从swift变成objective-c?
- javascript - 如何将过滤器插入到 graphql 查询字符串中?
- javascript - 使用crypto js AES ECB算法在JavaScript中加密字节数组
- vue.js - NuxtJS 动态路由 SSR
- python-3.x - 无法弄清楚为什么此代码未通过单个测试
- c# - 递归减法
- node.js - Socket.io/Hapi 不工作 Azure 应用服务 (Linux)
- node.js - axios 前端没有返回错误?
- html - 如何将从 html 按钮导出的 csv 保存到特定文件夹位置