我想联接来自不同数据库的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
但是此代码不起作用。
答案 0 :(得分:0)
您需要UNION
来删除重复项而不是联接:
select name, langid from table1
union
select name, langid from table2
请参见demo。
结果:
| name | langid |
| ----- | ------ |
| name1 | en |
| name1 | no |
| name1 | id |
| name2 | en |
| name3 | en |
答案 1 :(得分:0)
您可以简单地执行以下操作
cachedMessaging.send(...)
答案 2 :(得分:0)
如果两个数据库位于同一数据库服务器上,您可以尝试使用不匹配的左连接
假设project66.languagestrings是table2(不匹配的表),而wisehouse.languagestrings是table1
select p66.language_string_text_id, p66.language_string, p66.language_id
FROM project66.languagestrings p66
LEFT JOIN wisehouse.languagestrings wh ON p66.language_string_text_id = wh.language_string_text_id
and p66.language_id = wh.language_id
WHERE wh.language_string_text_id is null
答案 3 :(得分:0)
SELECT `DB1`.`table`.`id` , `DB1`.`table`.`name`
FROM `DB1`.`table`
JOIN `DB2`.`table2` ON `DB1`.`table`.`id` = `DB2`.`table2`.`parent`