Mysql 如何从两个不同的表中获取数据(无重复记录)?其中两个表都有相同的值

Mysql 如何从两个不同的表中获取数据(无重复记录)?其中两个表都有相同的值,mysql,sql,Mysql,Sql,表1 表2 newpancard id | name | cardno | status | ----------------------------- 1 | name1| 909099 | done | 2 | name2| 800099 | done | 3 | name3| 965099 | pending| 我们能否从两个表中status=done的两个表中获取数据 我正在尝试以下查询,但批量获取重复数据 oldpancard id | name | cardno

表1

表2

newpancard

id | name | cardno | status |
-----------------------------
1  | name1| 909099 | done   |
2  | name2| 800099 | done   |
3  | name3| 965099 | pending|
我们能否从两个表中
status=done
的两个表中获取数据

我正在尝试以下查询,但批量获取重复数据

oldpancard

id | name | cardno | status |
-----------------------------
1  | name4| 111119 | done   |
2  | name5| 323239 | done   |
3  | name6| 734349 | pending|
4  | name7| 609099 | done   |

请纠正我。谢谢

我想你真的想要一个
联盟

SELECT tb1.*, tb2.* 
FROM `newpancard` tb1 
JOIN `oldpancard` tb2 
  ON tb1.status = tb2.status
我们使用
UNION
(而不是
UNION ALL
),因此我们不会从
newpancard
oldpancard
获取重复记录

输出(来自示例数据):


您只需要一个条件,说明
status='done'
@Qirel是的,我们只有条件great。很高兴能帮上忙。
SELECT * FROM newpancard WHERE status='done'
UNION
SELECT * FROM oldpancard WHERE status='done'
id  name    cardno  status
1   name1   909099  done
2   name2   800099  done
1   name4   111119  done
2   name5   323239  done
4   name7   609099  done